Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (S)
Guardian Procedure Calls Reference Manual522629-013
14-139
SIGJMP_MASKSET_ Procedure
SIGJMP_MASKSET_ Procedure
Summary
Syntax for C Programmers
Syntax for TAL Programmers
Parameters
Considerations
Examples
Related Programming Manual
Summary
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
Syntax for TAL Programmers
Parameters
error returned value
INT(32)
indicates the outcome of the call:
0D indicates a successful outcome.
-1D indicates an error. The reason for the error is given in the
errno variable:
FE_EINVAL The jump buffer has not been initialized.
Note. This procedure can be called only from native processes.
#include <tdmsig.h>
long sigjmp_maskset ( jmp_buf *env
,sigset_t *signal-mask );
?SOURCE $SYSTEM.SYSTEM.HTDMSIG
error := SIGJMP_MASKSET_ ( env ! i,o
,signal-mask ); ! i