Man Linux: Main Page and Category List

NAME

       siglongjmp - non-local goto with signal handling

SYNOPSIS

       #include <setjmp.h>

       void siglongjmp(sigjmp_buf env, int val);

DESCRIPTION

       The   siglongjmp()  function  shall  be  equivalent  to  the  longjmp()
       function, except as follows:

        * References to setjmp() shall be equivalent to sigsetjmp().

        * The siglongjmp() function shall restore the saved signal mask if and
          only  if  the  env argument was initialized by a call to sigsetjmp()
          with a non-zero savemask argument.

RETURN VALUE

       After siglongjmp() is completed, program execution shall continue as if
       the corresponding invocation of sigsetjmp() had just returned the value
       specified by val. The siglongjmp() function shall not cause sigsetjmp()
       to return 0; if val is 0, sigsetjmp() shall return the value 1.

ERRORS

       No errors are defined.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       The  distinction  between  setjmp()  or  longjmp()  and  sigsetjmp() or
       siglongjmp() is only significant for programs  which  use  sigaction(),
       sigprocmask(), or sigsuspend().

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       longjmp() , setjmp() , sigprocmask() , sigsetjmp() , sigsuspend() , the
       Base Definitions volume of IEEE Std 1003.1-2001, <setjmp.h>

COPYRIGHT

       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the  referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .