SSIGNAL(3C) Standard C Library Functions SSIGNAL(3C)


ssignal, gsignal - software signals


#include <signal.h>

void(*ssignal (int sig, int (*action)(int)))(int);

int gsignal(int sig);


The ssignal() and gsignal() functions implement a software facility
similar to signal(3C). This facility is made available to users for their
own purposes.

Software signals made available to users are associated with integers in
the inclusive range 1 through 17. A call to ssignal() associates a
procedure, action, with the software signal sig; the software signal,
sig, is raised by a call to gsignal(). Raising a software signal causes
the action established for that signal to be taken.

The first argument to ssignal() is a number identifying the type of
signal for which an action is to be established. The second argument
defines the action; it is either the name of a (user-defined) action
function or one of the manifest constants SIG_DFL (default) or SIG_IGN
(ignore). The ssignal() function returns the action previously
established for that signal type; if no action has been established or
the signal number is illegal, ssignal() returns SIG_DFL.

The gsignal() raises the signal identified by its argument, sig.

If an action function has been established for sig, then that action is
reset to SIG_DFL and the action function is entered with argument sig.
The gsignal() function returns the value returned to it by the action

If the action for sig is SIG_IGN, gsignal() returns the value 1 and takes
no other action.

If the action for sig is SIG_DFL, gsignal() returns the value 0 and takes
no other action.

If sig has an illegal value or no action was ever specified for sig,
gsignal() returns the value 0 and takes no other action.


See attributes(7) for descriptions of the following attributes:

|MT-Level | Unsafe |


raise(3C), signal(3C), attributes(7)

December 29, 1996 SSIGNAL(3C)