siglongjmp()
Restore the environment saved by sigsetjmp(), including the signal mask
Synopsis:
#include <setjmp.h> void siglongjmp( sigjmp_buf env, int val );
Arguments:
- env
- The environment saved by the most recent call to sigsetjmp() .
- val
- The value that you want sigsetjmp() to return.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The siglongjmp() function is a superset of the longjmp() function, but also restores the thread's saved signal mask if (and only if) one was saved in the env argument by a previous call to sigsetjmp().
Don't use
longjmp()
or
siglongjmp()
to restore an environment saved by a call to
setjmp()
or
sigsetjmp()
in another thread.
If you're lucky, your application will crash; if not, it'll look as if it
works for a while, until random scribbling on the stack causes it to crash.
Returns:
The same values that longjmp() returns.
Examples:
See longjmp() .
Classification:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |