|
|
1.1 root 1: .\" Copyright (c) 1983 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
4: .\" Redistribution and use in source and binary forms are permitted provided
5: .\" that: (1) source distributions retain this entire copyright notice and
6: .\" comment, and (2) distributions including binaries display the following
7: .\" acknowledgement: ``This product includes software developed by the
8: .\" University of California, Berkeley and its contributors'' in the
9: .\" documentation or other materials provided with the distribution and in
10: .\" all advertising materials mentioning features or use of this software.
11: .\" Neither the name of the University nor the names of its contributors may
12: .\" be used to endorse or promote products derived from this software without
13: .\" specific prior written permission.
14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17: .\"
18: .\" @(#)sigstack.2 6.4 (Berkeley) 6/23/90
19: .\"
20: .TH SIGSTACK 2 "June 23, 1990"
21: .UC 5
22: .SH NAME
23: sigstack \- set and/or get signal stack context
24: .SH SYNOPSIS
25: .nf
26: .B #include <signal.h>
27: .PP
28: .B struct sigstack {
29: .B caddr_t ss_sp;
30: .B int ss_onstack;
31: .B };
32: .PP
33: .B sigstack(ss, oss);
34: .B struct sigstack *ss, *oss;
35: .SH DESCRIPTION
36: .I Sigstack
37: allows users to define an alternate stack on which signals
38: are to be processed. If
39: .I ss
40: is non-zero,
41: it specifies a
42: .I "signal stack"
43: on which to deliver signals
44: and tells the system if the process is currently executing
45: on that stack. When a signal's action indicates its handler
46: should execute on the signal stack (specified with a
47: .IR sigvec (2)
48: call), the system checks to see
49: if the process is currently executing on that stack. If the
50: process is not currently executing on the signal stack,
51: the system arranges a switch to the signal stack for the
52: duration of the signal handler's execution.
53: If
54: .I oss
55: is non-zero, the current signal stack state is returned.
56: .SH NOTES
57: Signal stacks are not ``grown'' automatically, as is
58: done for the normal stack. If the stack overflows
59: unpredictable results may occur.
60: .SH "RETURN VALUE
61: Upon successful completion, a value of 0 is returned.
62: Otherwise, a value of \-1 is returned and
63: .I errno
64: is set to indicate the error.
65: .SH ERRORS
66: .I Sigstack
67: will fail and the signal stack context will remain unchanged
68: if one of the following occurs.
69: .TP 15
70: [EFAULT]
71: Either
72: .I ss
73: or
74: .I oss
75: points to memory that is not a valid part of the process
76: address space.
77: .SH "SEE ALSO"
78: sigvec(2), setjmp(3)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.