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().