NOTE: click here if you get an empty page.
LONGJMP(3) Library functions LONGJMP(3)
NAME
longjmp, siglongjmp - non-local jump to a saved stack context
SYNOPSIS
#include <setjmp.h>
void longjmp(jmp_buf env, int val);
void siglongjmp(sigjmp_buf env, int val);
DESCRIPTION
longjmp() and setjmp() are useful for dealing with errors and inter-
rupts encountered in a low-level subroutine of a program. longjmp()
restores the environment saved by the last call of setjmp() with the
corresponding env argument. After longjmp() is completed, program exe-
cution continues as if the corresponding call of setjmp() had just
returned the value val. longjmp() cannot cause 0 to be returned. If
longjmp is invoked with a second argument of 0, 1 will be returned
instead.
siglongjmp() is similar to longjmp() except for the type of its env
argument. If the sigsetjmp() call that set this env used a non-zero
savesigs flag, siglongjmp() also restores the set of blocked signals.
RETURN VALUE
These functions never return.
CONFORMING TO
POSIX.1-2001.
NOTES
POSIX does not specify whether longjmp() will restore the signal con-
text. If you want to save and restore signal masks, use siglongjmp().
longjmp() and siglongjmp() make programs hard to understand and main-
tain. If possible an alternative should be used.
SEE ALSO
setjmp(3), sigsetjmp(3)
1997-03-02 LONGJMP(3)
© 1994 Man-cgi 1.15, Panagiotis Christias <christia@theseas.ntua.gr>