sigset(3)sigset(3)NAME
sigset, sighold, sigrelse, sigignore - Compatibility interfaces for
signal management
SYNOPSIS
#include <sys/signal.h>
void (*sigset(
int signal,
void (*function) (int))) (int ); int sighold(
int signal ); int sigrelse(
int signal ); int sigignore(
int signal );
LIBRARY
Standard C Library (libc)
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
sigset(), sighold(), sigrelse(), sigignore(): XSH4.2
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
Specifies the signal. The signal parameter can be assigned any of the
signals defined in the signal.h header file, except SIGKILL and
SIGSTOP. Specifies one of four values: SIG_DFL, SIG_IGN, SIG_HOLD, or
an address of a signal-catching function. The function() parameter is
declared as type pointer to a function returning void.
DESCRIPTION
The sigset(), sighold(), sigrelse(), and sigignore() functions provide
simplified signal management.
The sigset() function is used to modify signal dispositions. The value
of the function parameter determines the system signal action to be
taken upon receipt of signal, as follows: If function is the address of
a signal-catching function, the system adds signal to the calling
process' signal mask before executing the signal-catching function.
When the signal-catching function returns, the system restores the
calling process' signal mask to its state prior to delivery of the sig‐
nal. If function is equal to SIG_HOLD, signal is added to the calling
process' signal mask and the disposition of signal remains unchanged.
If function is not SIG_HOLD, signal is removed from the calling
process' signal mask.
The sighold() function adds signal to the calling process' signal mask.
The sigrelse() function removes signal from the calling process' signal
mask.
The sigignore() function sets the disposition of signal to SIG_IGN.
The sighold() function, in conjunction with sigrelse and sigpause(),
may be used to establish critical regions of code that require the
delivery of a signal to be temporarily deferred.
NOTES
These interfaces are provided for compatibility only. New programs
should use sigaction() and sigprocmask() to control the disposition of
signals.
[Tru64 UNIX] When compiled in the X/Open UNIX environment, calls to
the sigset() function are internally renamed by prepending _E to the
function name. When you are debugging a module that includes the
sigset() function and for which _XOPEN_SOURCE_EXTENDED has been
defined, use _Esigset to refer to the sigset() call. See standards(5)
for information on when the _XOPEN_SOURCE_EXTENDED macro is defined.
RETURN VALUES
Upon successful completion, the sigset() function returns the previous
value of the system signal action for the specified signal. Otherwise,
it returns SIG_ERR and errno is set to indicate the error.
For the sighold(), sigrelse(), and sigignore() functions, a value of 0
(zero) is returned upon success. Otherwise, a value of -1 is returned
and errno is set to indicate the error.
ERRORS
The sigset(), sighold(), sigrelse(), and sigignore() functions set
errno to the specified values for the following conditions: The signal
parameter is either an illegal signal number or SIGKILL, or the default
handling of signal cannot be changed.
SEE ALSO
Functions: kill(2), setjmp(3), sigaction(2), sigpause(3), sigproc‐
mask(2), wait(2)
Files: signal(4)
Standards: standards(5)sigset(3)