SIGSTACK(2) 1990 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/27/90 June 1