sigstack(2) sigstack(2)
NAME
sigstack - set and/or get signal stack context
SYNOPSIS
#include <signal.h>
struct sigstack {
caddrt sssp;
int ssonstack;
};
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 ALSO
sigvec(2), setjmp(3).
Page 1 (last mod. 1/14/87)