Operating systems, development tools, and professional
services for connected embedded systems
Home
Developer Resources

siglongjmp

PDF Documents
More resources

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().


WARNING: 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:

POSIX 1003.1

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

longjmp(), sigaction(), sigprocmask(), sigsuspend()

 
©2013 QNX Software Systems Limited, a subsidiary of BlackBerry.   BlackBerry Logo