Copyright (C) 2000-2012 |
GNU Info (libc.info)Non-Local Exits and SignalsNon-Local Exits and Signals =========================== In BSD Unix systems, `setjmp' and `longjmp' also save and restore the set of blocked signals; see Note: Blocking Signals. However, the POSIX.1 standard requires `setjmp' and `longjmp' not to change the set of blocked signals, and provides an additional pair of functions (`sigsetjmp' and `siglongjmp') to get the BSD behavior. The behavior of `setjmp' and `longjmp' in the GNU library is controlled by feature test macros; see Note: Feature Test Macros. The default in the GNU system is the POSIX.1 behavior rather than the BSD behavior. The facilities in this section are declared in the header file `setjmp.h'. - Data Type: sigjmp_buf This is similar to `jmp_buf', except that it can also store state information about the set of blocked signals. - Function: int sigsetjmp (sigjmp_buf STATE, int SAVESIGS) This is similar to `setjmp'. If SAVESIGS is nonzero, the set of blocked signals is saved in STATE and will be restored if a `siglongjmp' is later performed with this STATE. - Function: void siglongjmp (sigjmp_buf STATE, int VALUE) This is similar to `longjmp' except for the type of its STATE argument. If the `sigsetjmp' call that set this STATE used a nonzero SAVESIGS flag, `siglongjmp' also restores the set of blocked signals. automatically generated by info2www version 1.2.2.9 |