sigstack(2) sigstack(2)NAME sigstack - set or get signal stack context SYNOPSIS #include <signal.h> struct sigstack { caddr_t ss_sp; int ss_onstack; }; int sigstack(ss, oss); struct sigstack *ss, *oss; DESCRIPTION sigstack allows users to define an alternate stack on which signals are to be processed. If ss is nonzero, it specifies a signal stack on which to deliver signals and tells the system if the process is currently executing on that stack. When a signal's action indicates its handler should execute on the signal stack (specified with a sigvec(2) call), the system checks to see if the process is currently executing on that stack. If the process is not currently executing on the signal stack, the system arranges a switch to the signal stack for the duration of the signal handler's execution. If oss is nonzero, the current signal stack state is re- turned. NOTES Signal stacks are not ``grown'' automatically, as is done for the normal stack. If the stack overflows, unpredictable results may occur. RETURN VALUE Upon successful completion, a value of 0 is returned. Oth- erwise, a value of -1 is returned and errno is set to indi- cate the error. ERRORS sigstack will fail and the signal stack context will remain unchanged if one of the following occurs. [EFAULT] Either ss or oss points to memory that is not a valid part of the process address space. SEE ALSO sigvec(2), setjmp(3), signal(3). April, 1990 1