SSIGNAL(3C) Standard C Library Functions SSIGNAL(3C)
NAME
ssignal, gsignal - software signals
SYNOPSIS
#include <signal.h>
void(
*ssignal (
int sig,
int (*
action)(
int)))(
int);
int gsignal(
int sig);
DESCRIPTION
The
ssignal() and
gsignal() functions implement a software facility
similar to
signal(3C). This facility is made available to users for
their own purposes.
ssignal() 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.
gsignal() 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 function.
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.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|MT-Level | Unsafe |
+---------------+-----------------+
SEE ALSO
raise(3C),
signal(3C),
attributes(7) December 29, 1996 SSIGNAL(3C)