Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (S)
Guardian Procedure Calls Reference Manual—522629-013
14-130
SIGACTION_INIT_ Procedure
A pointer to a structure of type UCONTEXT_T. It contains information
regarding the process context when the signal occurred. You can pass this
pointer to the HIST_INIT_ procedure to get diagnostic information.
•
SIG_DFL
Causes default signal handling to be installed.
•
SIG_ABORT
Causes the process to be abnormally terminated when a signal occurs.
•
SIG_DEBUG
Causes the process to enter debug mode when a signal occurs.
•
If the signal was generated as a nondeferrable signal, the signal handler should
not execute a simple return; otherwise, process termination results. You must exit
the signal handler using either the SIGLONGJMP_ or LONGJMP_ procedure.
SIGLONGJMP_ is preferred, because it allows you to restore the signal mask that
was saved by the corresponding SIGSETJMP_ procedure, so your process can
receive multiple occurrences of the same nondeferrable signal. LONGJMP_ does
not restore the signal mask; therefore the signal that was handled remains
blocked.
For a deferrable signal, the signal handler can simply return, causing process
execution to resume where it was preempted by the signal.
Examples
TAL example:
error := SIGACTION_INIT_ ( @SIG_HANDLER );
IF error = <>0 THEN
errnoval := ERRNO_GET_;
C example:
if (SIGACTION_INIT_ ( myhandler ) != 0)
/* handle error */
Related Programming Manual
For programming information about the SIGACTION_INIT_ procedure, see the
Guardian Programmer’s Guide.
Note. This action is similar to calling ARMTRAP(-1,-1) for a TNS Guardian process.
Note. The SIG_ABORT and SIG_DEBUG options are HP extensions to the POSIX.1
standard.