pl_sigaction_t is a struct
with the following definition:
typedef struct pl_sigaction
{ void (*sa_cfunction)(int); /* traditional C function */
predicate_t sa_predicate; /* call a predicate */
int sa_flags; /* additional flags */
} pl_sigaction_t;
The sa_flags is a bitwise or of PLSIG_THROW,
PLSIG_SYNC and PLSIG_NOFRAME. Signal handling
is enabled if PLSIG_THROW is provided, sa_cfunction
or
sa_predicate is provided. sa_predicate is a
predicate handle for a predicate with arity 1. If no action is
provided the signal handling for this signal is restored to the default
before
PL_initialise()
was called.
Finally, 0 (zero) may be passed for sig. In that case the system allocates a free signal in the Prolog range (32 ... 64). Such signal handler are activated using PL_thread_raise().