siglongjmp

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
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
       execution  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 nonzero
       savesigs flag, siglongjmp() also restores the set of blocked  signals.

RETURN VALUE
       These functions never return.

CONFORMING TO
       POSIX

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)