SIGSTACK(2)SIGSTACK(2)NAMEsigstack - set and/or get signal stack context
SYNOPSIS
#include <signal.h>
struct sigstack {
caddr_t ss_sp;
int ss_onstack;
};
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 non-zero, 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 non-zero,
the current signal stack state is returned.
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. Otherwise, a
value of -1 is returned and errno is set to indicate 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 ALSOsigvec(2), setjmp(3)4.2 Berkeley Distribution June 30, 1985 SIGSTACK(2)