siglongjmp3p
Non-local goto with signal handling
Usage
#include <setjmp.h>
void siglongjmp(sigjmp_buf env, int val);
Prolog
This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.
Overview
The siglongjmp() function shall be equivalent to the longjmp() function, except as follows:
- *
-
References to setjmp() shall be equivalent to sigsetjmp().
- *
-
The siglongjmp() function shall restore the saved signal mask if and only if the env argument was initialized by a call to sigsetjmp() with a non-zero savemask argument.
Return value
After siglongjmp() is completed, program execution shall continue as if the corresponding invocation of sigsetjmp() had just returned the value specified by val. The siglongjmp() function shall not cause sigsetjmp() to return 0; if val is 0, sigsetjmp() shall return the value 1.
Errors
No errors are defined.
The following sections are informative.
Examples
None.
Application usage
The distinction between setjmp() or longjmp() and sigsetjmp() or siglongjmp() is only significant for programs which use sigaction(), sigprocmask(), or sigsuspend().
Rationale
None.
Future directions
None.