Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (S)
Guardian Procedure Calls Reference Manual522629-013
14-132
SIGACTION_RESTORE_ Procedure
Use the ERRNO_GET_ procedure to obtain the value of errno in a
Guardian process.
signal-buffer input
INT .EXT:ref:(SIG_SAVE_TEMPLATE)
specifies the address of a buffer in which the previous signal-handling state is
saved.
Considerations
The SIGACTION_RESTORE_ procedure validates the buffer indicated by
signal-buffer and returns an error if the buffer is invalid. It is assumed that the
buffer has been initialized by the SIGACTION_SUPPLANT_ procedure and that it
has not been modified by the caller.
The signal-handling state previously saved in the buffer indicated by signal-
buffer is atomically restored.
Any pending signal that is unblocked by restoring the saved signal mask will be
delivered to the restored signal handler after exiting this procedure or returning to
user code.
A privileged caller is allowed to restore nonprivileged signal-handling
specifications. If the caller is nonprivileged, however, the restored signal handling
state is marked as nonprivileged.
Example
error := SIGACTION_RESTORE_ ( buffer );
IF error <> 0 THEN
errnoval := ERRNO_GET_;
Related Programming Manual
For programming information about the SIGACTION_RESTORE_ procedure, see the
Guardian Programmer’s Guide.