In BSD Unix systems, setjmp
and longjmp
also save and
restore the set of blocked signals; see section 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 section 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'.
jmp_buf
, except that it can also store state
information about the set of blocked signals.
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.
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.
Go to the first, previous, next, last section, table of contents.