Implementation status: to be implemented
int _setjmp(jmp_buf env);
void _longjmp(jmp_buf env, int val);
_setjmp() saves the current environment, while
_longjmp executes non-local goto using the saved environment.
jmp_buf env - saved environment (by last call to
val - value to which the
_setjmp expression evaluates.
_setjmp() function saves the current environment in its env argument. It is equivalent to
setjmp() with the additional restriction that
_setjmp() does not manipulate the signal mask.
_longjmp() function is equivalent to
longjmp() with the additional restriction that
_longjmp() does not manipulate the signal mask.
_longjmp() is called even though env was never initialized by a call to
_setjmp(), or when the last such call was in a function that has since returned, the results are undefined.
_longjmp() is completed, program execution continues as if the corresponding invocation of
_setjmp() had just returned the value specified by val. The
_longjmp() function does not cause
_setjmp() to return
0; if val is
No errors are defined.
_setjmp() functions may be removed in a future version.