SIGSTACK(2-BSD) RISC/os Reference Manual SIGSTACK(2-BSD)
NAME
sigstack - 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 speci-
fies 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. 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)
Printed 1/15/91 Page 1