siglongjmp(3) — Subroutines
NAME
siglongjmp − Nonlocal goto with signal handling
LIBRARY
Standard C Library (libc.a)
SYNOPSIS
#include <setjmp.h> void siglongjmp (
sigjmp_buf env,
int value );
PARAMETERS
envSpecifies an address for a sigjmp_buf structure.
valueSpecifies any nonzero value.
DESCRIPTION
The siglongjmp() function restores the environment saved by the most recent sigsetjmp() function in the same process with the corresponding sigjmp_buf parameter.
All accessible objects have values as of the time siglongjmp() was called, except that the values of objects of automatic storage duration that have been changed between the sigsetjmp() call and siglongjmp() call are indeterminate.
As it bypasses the usual function call and return mechanisms, the siglongjmp() function executes correctly in contexts of interrupts, signals, and any of their associated functions. However, if the siglongjmp() function is invoked from a nested signal handler (that is, from a function invoked as a result of a signal raised during the handling of another signal), the behavior is undefined.
The siglongjmp() function restores the saved signal mask if and only if the env parameter was initialized by a call to the sigsetjmp() function with a nonzero savemask parameter.
NOTES
AES Support Level:
Full use
RETURN VALUES
After the siglongjmp() function is completed, program execution continues as if the corresponding call of the sigsetjmp() function had just returned the value specified by the value parameter. The siglongjmp() function cannot cause the sigsetjmp() function to return 0 (zero); if value is 0, the sigsetjmp() function returns 1.
RELATED INFORMATION
Functions: setjmp(3), sigprocmask(2), sigsetjmp(3), sigsuspend(2)