MirOS Manual: sigreturn(2)

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

NAME

     sigreturn - return from signal

SYNOPSIS

     #include <signal.h>

     int
     sigreturn(struct sigcontext *scp);

DESCRIPTION

     sigreturn() allows users to atomically unmask, switch stacks, and return
     from a signal context. The processes signal mask and stack status are re-
     stored 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 specified pc.
     This system call is used by the trampoline code and longjmp(3) when re-
     turning from a signal to the previously executing program.

     Note that sigcontext contains machine dependent information.

NOTES

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

RETURN VALUES

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

ERRORS

     sigreturn() will fail and the process context will remain unchanged if
     one of the following occurs.

     [EFAULT]      scp points to memory that is not a valid part of the pro-
                   cess address space.

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

SEE ALSO

     sigaction(2), setjmp(3)

HISTORY

     The sigreturn() function call appeared in 4.3BSD.

MirOS BSD #10-current            June 4, 1993                                1

Generated on 2014-07-04 21:17:45 by $MirOS: src/scripts/roff2htm,v 1.79 2014/02/10 00:36:11 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002‒2014 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.