*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> longjmp (3)              
Title
Content
Arch
Section
 

LONGJMP(3)

Contents


NAME    [Toc]    [Back]

       longjmp, siglongjmp - non-local jump to a saved stack context

SYNOPSIS    [Toc]    [Back]

       #include <setjmp.h>

       void longjmp(jmp_buf env, int val);
       void siglongjmp(sigjmp_buf env, int val);

DESCRIPTION    [Toc]    [Back]

       longjmp()  and  setjmp()  are useful for dealing with errors and interrupts
 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    [Toc]    [Back]

       These functions never return.

CONFORMING TO    [Toc]    [Back]

       POSIX

NOTES    [Toc]    [Back]

       POSIX does not specify whether longjmp will restore the signal context.
       If you want to save and restore signal masks, use siglongjmp.

       longjmp()  and  siglongjmp() make programs hard to understand and maintain.
  If possible an alternative should be used.

SEE ALSO    [Toc]    [Back]

      
      
       setjmp(3), sigsetjmp(3)



				  1997-03-02			    LONGJMP(3)
[ Back ]
 Similar pages
Name OS Title
setjmp Linux save stack context for non-local goto
sigaltstack OpenBSD set and/or get signal stack context
sigstack IRIX set and/or get signal stack context
sigstack OpenBSD set and/or get signal stack context
sigaltstack FreeBSD set and/or get signal stack context
sigstack NetBSD set and/or get signal stack context
sigaltstack NetBSD set and/or get signal stack context
sigstack FreeBSD set and/or get signal stack context
sigstack Tru64 Set and get the signal stack context
sigaltstack HP-UX set and/or get signal alternate stack context.
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service