SIGRETURN(2) BSD Programmer's Manual SIGRETURN(2)
sigreturn - return from signal
#include <signal.h>
int
sigreturn(struct sigcontext *scp);
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.
This system call is not available in 4.2 BSD hence it should not be used
if backward compatibility is needed.
If successful, the system call does not return. Otherwise, a value of -1
is returned and errno is set to indicate the error.
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.
sigaction(2), setjmp(3)
The sigreturn() function call appeared in 4.3BSD.
MirOS BSD #10-current June 4, 1993 1
Generated on 2013-04-27 00:20:00 by $MirOS: src/scripts/roff2htm,v 1.77 2013/01/01 20:49:09 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‒2013 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.