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>