SSIGNAL(3C) (C Programming Language Utilities) SSIGNAL(3C)
NAME
ssignal, gsignal - software signals
SYNOPSIS
#include <signal.h>
int (*ssignal (sig, action))( )
int sig, (*action)( );
int gsignal (sig)
int sig;
DESCRIPTION
ssignal and gsignal implement a software facility similar to
signal(2). This facility is used by the Standard C Library
to enable users to indicate the disposition of error
conditions, and is also made available to users for their
own purposes.
Software signals made available to users are associated with
integers in the inclusive range 1 through 16. 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 SIGDFL (default) or SIGIGN (ignore). ssignal
returns the action previously established for that signal
type; if no action has been established or the signal number
is illegal, ssignal returns SIGDFL.
Gsignal raises the signal identified by its argument, sig:
If an action function has been established for sig,
then that action is reset to SIGDFL and the action
function is entered with argument sig. Gsignal returns
Page 1 May 1989
SSIGNAL(3C) (C Programming Language Utilities) SSIGNAL(3C)
the value returned to it by the action function.
If the action for sig is SIGIGN, gsignal returns the
value 1 and takes no other action.
If the action for sig is SIGDFL, 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 ALSO
signal(2), sigset(2).
NOTES
There are some additional signals with numbers outside the
range 1 through 16 which are used by the Standard C Library
to indicate error conditions. Thus, some signal numbers
outside the range 1 through 16 are legal, although their use
may interfere with the operation of the Standard C Library.
Page 2 May 1989