siglongjmp
![]() |
![]() |
![]() |
![]() |
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 |
See also:
longjmp(), sigaction(), sigprocmask(), sigsuspend()
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)

