4.3BSD-Tahoe/usr/man/cat2/sigstack.0
SIGSTACK(2) UNIX Programmer's Manual SIGSTACK(2)
NNAAMMEE
sigstack - set and/or get signal stack context
SSYYNNOOPPSSIISS
##iinncclluuddee <<ssiiggnnaall..hh>>
ssttrruucctt ssiiggssttaacckk {{
ccaaddddrr__tt ssss__sspp;;
iinntt ssss__oonnssttaacckk;;
}};;
ssiiggssttaacckk((ssss,, oossss));;
ssttrruucctt ssiiggssttaacckk **ssss,, **oossss;;
DDEESSCCRRIIPPTTIIOONN
_S_i_g_s_t_a_c_k allows users to define an alternate stack on which
signals are to be processed. If _s_s is non-zero, it speci-
fies a _s_i_g_n_a_l _s_t_a_c_k 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 _s_i_g_v_e_c(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 _o_s_s is non-zero, the current signal stack
state is returned.
NNOOTTEESS
Signal stacks are not ``grown'' automatically, as is done
for the normal stack. If the stack overflows unpredictable
results may occur.
RREETTUURRNN VVAALLUUEE
Upon successful completion, a value of 0 is returned. Oth-
erwise, a value of -1 is returned and _e_r_r_n_o is set to indi-
cate the error.
EERRRROORRSS
_S_i_g_s_t_a_c_k will fail and the signal stack context will remain
unchanged if one of the following occurs.
[EFAULT] Either _s_s or _o_s_s points to memory that is not
a valid part of the process address space.
SSEEEE AALLSSOO
sigvec(2), setjmp(3)
Printed 7/9/88 June 30, 1985 1