Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (S)
Guardian Procedure Calls Reference Manual522629-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