Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (S)
Guardian Procedure Calls Reference Manual522629-013
14-136
SIGACTION_SUPPLANT_ Procedure
and on whether the signal handler for that signal is installed by a nonprivileged
caller or privileged caller of SIGACTION_SUPPLANT_ as follows:
Nested signals
Signals can be nested. If a different signal occurs during execution of a signal
handler—or any procedure called directly or indirectly from the signal handler—the
handler for that signal is invoked at the current tip of the stack.
Signal mask
SIGACTION_SUPPLANT_ sets the signal mask to block all signals from delivery.
All signals that can be deferred are kept pending. Any nondeferrable signal is
delivered to the handler.
Handler Considerations
handler must be one of the following:
The address of an untyped native procedure that accepts the following three
parameters. These parameters are passed to the handler by the system when
the handler is invoked to catch a signal:
SIGNUM
An INT(32) numerical value indicating the signal that caused the handler to
be invoked.
SIGINFO
A pointer whose value is currently NULL.
If a
nondeferrable
signal occurs
in...
And the signal handler for
that signal was installed by...
Then the specified handler is
activated at...
nonprivileged
code
a nonprivileged or privileged
caller of
SIGACTION_SUPPLANT_
the tip of the main stack (when
the signal was generated)
privileged code a nonprivileged caller of
SIGACTION_SUPPLANT_
the tip of the main stack (when
the process entered privileged
mode)
privileged code a privileged caller of
SIGACTION_SUPPLANT_
the tip of the privileged stack
Note. This action differs from the corresponding action on a TNS Guardian process; a trap
that occurs during execution of a trap handler is fatal to the process.
Note. This response to a nondeferrable signal is an extension to the POSIX.1 standard;
according to the POSIX.1 standard, the response to a nondeferrable signal is undefined.
This response also differs from the OSS implementation, which abnormally terminates the
process if a nondeferrable signal is blocked.