Guardian Procedure Calls Reference Manual
SIGJMP_MASKSET_ Procedure
Summary
Syntax for C Programmers
Syntax for TAL Programmers
Parameters
Returned Value
Considerations
Examples
Related Programming Manual
Summary
NOTE: This procedure can be called only from native processes.
The SIGJMP_MASKSET_ procedure saves a signal mask in a jump buffer that has already been
initialized by the SIGSETJMP_ procedure. Thus, you can avoid the overhead of saving the signal
mask when you call SIGSETJMP_ and instead apply the mask at a later time before performing a
nonlocal goto with the SIGLONGJMP_ procedure. This technique saves setting the signal mask in
applications that have many calls to SIGSETJMP_ and few calls to SIGLONGJMP_.
Syntax for C Programmers
#include <tdmsig.h>
long sigjmp_maskset ( jmp_buf *env
,sigset_t *signal-mask );
Syntax for TAL Programmers
?SOURCE $SYSTEM.SYSTEM.HTDMSIG
error :=SIGJMP_MASKSET_ ( env ! i,o
,signal-mask ); ! i
Parameters
error
returned value
env
input, output
INT .EXT:ref:(SIGJMP_BUF_TEMPLATE)
contains the address of a jump buffer containing context saved by the SETJMP_ or SIGSETJMP_
procedure to be restored by a subsequent call to the SIGLONGJMP_ procedure.
signal-mask
input
INT .EXT:ref:(SIGSET_T)
If not NULL, points to a valid signal mask that is added to the jump buffer indicated by env.
A subsequent call to the SIGLONGJMP_ procedure restores the context contained in the jump
buffer, including the indicated signal mask.
1372 Guardian Procedure Calls (S)