Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (S)
Guardian Procedure Calls Reference Manual—522629-013
14-128
SIGACTION_INIT_ Procedure
-1D indicates an error. The reason for the error is given in the errno variable. 
Use the ERRNO_GET_ procedure to obtain the value of 
errno in a pTAL 
program.
handler input
PROCADDR:ref:1
specifies the action to be invoked when a signal occurs. Its value can be:
•
The address of a native procedure to perform the signal handling
•
SIG_DFL to install the default action 
•
SIG_ABORT to abnormally terminate the process
•
SIG_DEBUG to enter debugging state
See Handler Considerations
 on page 14-129 for details.
General Considerations
•
This procedure is the functional equivalent the TNS ARMTRAP procedure for 
native processes.  
•
POSIX.1 compliance
This procedure is an extension to the POSIX.1 standard. The same effect can be 
achieved while maintaining compliance with the POSIX.1 standard by calling the 
SIGPROCMASK_ procedure and a loop of SIGACTION_ procedure calls.
•
Calling considerations
The SIGACTION_INIT_ procedure is designed to be called once, typically from the 
main procedure of a program. Although it is not an error to call this procedure 
twice, native Guardian C programmers should be aware that the CRE makes this 
call before invoking the program’s main function.
SIGACTION_INIT_ sets the signal mask to unblock all signals. Pending signals 
are discarded.
The specified handler (or action) is installed for all signals whose default action is 
not 
SIG_IGN and for which it is legal to specify the associated action. (You cannot 
specify an action for the OSS 
SIGKILL, SIGABEND, or SIGSTOP signal.) The 
action for any signal that is ignored by default is set to 
SIG_IGN. If the action 
specified is not applicable to a specific signal, then the existing action for that 
signal remains unchanged.
If SIGACTION_INIT_ returns an error, the signal-handling state is not changed.
•
Deferrable and nondeferrable signals
Deferrable signals that occur while the process is executing privileged code are 
deferred until the process exits privileged execution mode. If these signals are not 










