sigsetjmp(3)sigsetjmp(3)Name
sigsetjmp, siglongjmp - nonlocal goto
Syntax
#include <setjmp.h>
sigsetjmp(env, savemask)
sigjmp_buf env;
void siglongjmp(env, val)
sigjmp_buf env;
Description
These routines deal with errors and interrupts encountered in a low-
level subroutine of a program.
The subroutine saves its stack environment in env for later use by It
returns a value of 0. If the value of the savemask argument is not
zero, the subroutine also saves the processĀ“ current signal mask as
part of the calling environment.
The subroutine restores the environment saved by the last call of with
the supplied env buffer. If the env argument was initialized by a call
to the subroutine with a nonzero savemask argument, the subroutine
restores the saved signal mask. It then returns in such a way that
execution continues as if the call of had just returned the value val
to the subroutine that invoked which must not itself have returned in
the interim. However, cannot cause to return the value 0. If is
invoked with a val of 0, returns a value of 1. All accessible data
have values as of the time was called.
Restrictions
The subroutine does not save the current notion of whether the process
is executing on the signal stack. When you invoke the subroutine, the
signal stack is left in an incorrect state.
See Alsosigstack(2), sigvec(2), signal(3), sigprocmask(3)sigsetjmp(3)