Objects of type
sigset_t
must be initialized by a call to either
sigemptyset()
or
sigfillset()
before being passed to the functions
sigaddset(),
sigdelset()
and
sigismember()
or the additional glibc functions described below
(sigisemptyset(),
sigandset(),
and
sigorset()).
The results are undefined if this is not done.

RETURN VALUE

sigemptyset(),
sigfillset(),
sigaddset(),
and
sigdelset()
return 0 on success and -1 on error.

sigismember()
returns 1 if
signum
is a member of
set,
0 if
signum
is not a member, and -1 on error.

ERRORS

EINVAL

sig
is not a valid signal.

CONFORMING TO

POSIX.1-2001.

NOTES

Glibc Notes

If the
_GNU_SOURCE
feature test macro is defined, then <signal.h>
exposes three other functions for manipulating signal
sets.

int sigisemptyset(sigset_t *set);

returns 1 if
set
contains no signals, and 0 otherwise.

int sigorset(sigset_t *dest, sigset_t *left, sigset_t *right);

places the union of the sets
left
and
right
in
dest.

int sigandset(sigset_t *dest, sigset_t *left, sigset_t *right);

places the intersection of the sets
left
and
right
in
dest.

sigorset()
and
sigandset()
return 0 on success, and -1 on failure.

These functions are nonstandard (a few other systems provide similar
functions) and their use should be avoided in portable applications.