NAME
siglongjmp —
non-local goto with signal handling
SYNOPSIS
void siglongjmp(sigjmp_buf env, int val);
DESCRIPTION
The siglongjmp () function shall be
equivalent to the longjmp(3) function, except as
follows:
- References to setjmp(3) shall be equivalent to sigsetjmp(3).
- The
siglongjmp() function shall restore the saved signal mask if and only if the env argument was initialized by a call to sigsetjmp(3) with a non-zero savemask argument.
RETURN VALUE
After siglongjmp () is completed, program
execution shall continue as if the corresponding invocation of
sigsetjmp(3) had just returned the value specified by
val. The siglongjmp () function
shall not cause sigsetjmp(3) to return 0; if
val is 0, sigsetjmp(3) shall return the
value 1.
ERRORS
No errors are defined.
EXAMPLES
None.
APPLICATION USAGE
The distinction between setjmp(3) or
longjmp(3) and sigsetjmp(3) or
siglongjmp () is only significant for programs which
use sigaction(3), sigprocmask(3), or
sigsuspend(3).
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
longjmp(3) , pthread_sigmask(3) , setjmp(3) , sigsetjmp(3) , sigsuspend(3)
XBD <setjmp.h>
CHANGE HISTORY
First released in Issue 3. Included for alignment with the ISO POSIX-1 standard.
Issue 5
The DESCRIPTION is updated for alignment with the POSIX Threads Extension.
Issue 6
The DESCRIPTION is rewritten in terms of longjmp(3).
The SYNOPSIS is marked CX since the presence of this function in the <setjmp.h> header is an extension over the ISO C standard.