|
|
1.1 root 1: .\" Copyright (c) 1983 Regents of the University of California.
2: .\" All rights reserved. The Berkeley software License Agreement
3: .\" specifies the terms and conditions for redistribution.
4: .\"
5: .\" @(#)sigstack.2 6.2 (Berkeley) 6/30/85
6: .\"
7: .TH SIGSTACK 2 "June 30, 1985"
8: .UC 5
9: .SH NAME
10: sigstack \- set and/or get signal stack context
11: .SH SYNOPSIS
12: .nf
13: .B #include <signal.h>
14: .PP
15: .B struct sigstack {
16: .B caddr_t ss_sp;
17: .B int ss_onstack;
18: .B };
19: .PP
20: .B sigstack(ss, oss);
21: .B struct sigstack *ss, *oss;
22: .SH DESCRIPTION
23: .I Sigstack
24: allows users to define an alternate stack on which signals
25: are to be processed. If
26: .I ss
27: is non-zero,
28: it specifies a
29: .I "signal stack"
30: on which to deliver signals
31: and tells the system if the process is currently executing
32: on that stack. When a signal's action indicates its handler
33: should execute on the signal stack (specified with a
34: .IR sigvec (2)
35: call), the system checks to see
36: if the process is currently executing on that stack. If the
37: process is not currently executing on the signal stack,
38: the system arranges a switch to the signal stack for the
39: duration of the signal handler's execution.
40: If
41: .I oss
42: is non-zero, the current signal stack state is returned.
43: .SH NOTES
44: Signal stacks are not ``grown'' automatically, as is
45: done for the normal stack. If the stack overflows
46: unpredictable results may occur.
47: .SH "RETURN VALUE
48: Upon successful completion, a value of 0 is returned.
49: Otherwise, a value of \-1 is returned and
50: .I errno
51: is set to indicate the error.
52: .SH ERRORS
53: .I Sigstack
54: will fail and the signal stack context will remain unchanged
55: if one of the following occurs.
56: .TP 15
57: [EFAULT]
58: Either
59: .I ss
60: or
61: .I oss
62: points to memory that is not a valid part of the process
63: address space.
64: .SH "SEE ALSO"
65: sigvec(2), setjmp(3)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.