 |
Index for Section 3 |
|
 |
Alphabetical listing for S |
|
 |
Bottom of page |
|
ssignal(3)
NAME
ssignal, ssignal_r, gsignal, gsignal_r - Set and raise a software signal
SYNOPSIS
#include <signal.h>
void *ssignal(
void (*function)(int))) (int );
int gsignal(
int signal );
The following functions are supported to maintain backward compatibility
with previous versions of the operating system.
void *ssignal_r(
void (*function) (int),
void (*sigs[]) (int))) (int );
int gsignal_r(
int signal,
void (*sigs[]) (int) );
LIBRARY"
Standard C Library (libc)
PARAMETERS
signal
Defines the signal.
function
Specifies the action associated with the signal.
sigs
Specifies the array of signal functions. This structure must have at
least 21 entries, each of which must be initialized to 0 (zero) by the
caller.
DESCRIPTION
These functions are obsolete and are retained for compatibility with
earlier versions of the operating system.
The ssignal() and gsignal() functions implement a facility similar to that
of the signal() function and the kill() system call. However, there is no
connection between the two facilities. User programs can use the ssignal()
and gsignal() functions to handle exception processing within an
application. signal() and related functions handle system-defined
exceptions.
The signals available are associated with integers in the range 1 to 15.
Other values are reserved for use by the C library and should not be used.
The ssignal() function associates the procedure specified by the function
parameter with the signal specified by the signal parameter. The gsignal()
function raises the signal, causing the procedure specified by the function
parameter to be taken.
The function parameter is either a pointer to a user-defined function, or
either of the constants SIG_DFL (default action) or SIG_IGN (ignore
signal). The ssignal() function returns the procedure that was previously
established for that signal. If no procedure was established before or if
the signal number is illegal, then ssignal() returns the value SIG_DFL.
The gsignal() function raises the signal specified by the signal parameter
by performing the following:
· If the procedure for signal is SIG_DFL, the gsignal() function returns
a value of 0 (zero) and takes no other action.
· If the procedure for signal is SIG_IGN, the gsignal() function returns
a value of 1 and takes no other action.
· If the procedure for signal is a function, the function value is reset
to SIG_DFL and the function is called with signal passed as its
parameter. The gsignal() function returns the value returned by the
calling function with a single integer argument, which is the value of
signal.
· If the procedure for signal is illegal or if no procedure is specified
for that signal, gsignal() returns a value of 0 (zero) and takes no
other action.
NOTES
The ssignal_r() and gsignal_r() functions are the reentrant versions of the
ssignal() and gsignal() functions. They are supported in order to maintain
backward compatibility with previous versions of the operating system. Upon
successful completion, the ssignal_r() and gsignal_r() functions place
pointers in or retrieve pointers from the signal structure in sigs.
RETURN VALUES
The ssignal() and ssignal_r() functions return the value of the previously
installed function if there was one, or SIG_DFL if there was not a
previously installed function. If the value of signal was illegal the
ssignal() and ssignal_r() functions return SIG_DFL.
The gsignal() and gsignal_r() functions return a value of 0 (zero) if the
procedure for signal is illegal, or if SIG_DFL is the action for signal.
The gsignal() and gsignal_r() functions return a value of 1 if the
procedure for signal is SIG_IGN. If none of these are true, then the
gsignal() and gsignal_r() functions return the value returned by the
calling function.
SEE ALSO
Functions: kill(2) signal(2).
 |
Index for Section 3 |
|
 |
Alphabetical listing for S |
|
 |
Top of page |
|