|
|
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.