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