4.3BSD-UWisc/man/cat2/sigreturn.2

Compare this file to the similar file:
Show the results in this format:




SIGRETURN(2)        UNIX Programmer's Manual         SIGRETURN(2)



NAME
     sigreturn - return from signal

SYNOPSIS
     #include <signal.h>

     struct    sigcontext {
          int  sc_onstack;
          int  sc_mask;
          int  sc_sp;
          int  sc_fp;
          int  sc_ap;
          int  sc_pc;
          int  sc_ps;
     };

     sigreturn(scp);
     struct sigcontext *scp;

DESCRIPTION
     _S_i_g_r_e_t_u_r_n allows users to atomically unmask, switch stacks,
     and return from a signal context.  The processes signal mask
     and stack status are restored from the context.  The system
     call does not return; the users stack pointer, frame
     pointer, argument pointer, and processor status longword are
     restored from the context.  Execution resumes at the speci-
     fied pc.  This system call is used by the trampoline code,
     and _l_o_n_g_j_m_p(3) when returning from a signal to the previ-
     ously executing program.

NOTES
     This system call is not available in 4.2BSD, hence it should
     not be used if backward compatibility is needed.

RETURN VALUE
     If successful, the system call does not return.  Otherwise,
     a value of -1 is returned and _e_r_r_n_o is set to indicate the
     error.

ERRORS
     _S_i_g_r_e_t_u_r_n will fail and the process context will remain
     unchanged if one of the following occurs.

     [EFAULT]       _S_c_p points to memory that is not a valid part
                    of the process address space.

     [EINVAL]       The process status longword is invalid or
                    would improperly raise the privilege level of
                    the process.

SEE ALSO
     sigvec(2), setjmp(3)



Printed 12/27/86          June 30, 1985                         1