DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

sigsetjmp(S)


sigsetjmp, siglongjmp -- non-local jumps

Syntax

#include  <setjmp.h>

int sigsetjmp (env, savemask) sigjmp_buf env; int savemask;

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

Description

The sigsetjmp macro complies with the definition of the setjmp function. The sigsetjmp macro deals more proficiently with errors and interrupts encountered in a low-level subroutine of a program.

If the value of the savemask argument is not zero, the sigsetjmp function also saves the process's current signal mask (see signal(M)) as part of the calling environment.

The siglongjmp macro complies with the definition of the longjmp function. If and only if the env argument was initialized by a call to the sigsetjmp function with a non-zero savemask argument, the siglongjmp function restores the saved signal mask.

If the call to siglongjmp is in a different function from the corresponding call to setjmp, variables with register storage class may have unpredictable values.

See also

sigaction(S), signal(M), sigprocmask(S), sigsuspend(S), setjmp(S)

Standards conformance

siglongjmp and sigsetjmp are conformant with:

IEEE POSIX Std 1003.1-1990 System Application Program Interface (API) [C Language] (ISO/IEC 9945-1) ;
and NIST FIPS 151-1 .


© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003