diff options
Diffstat (limited to 'man3/sigsetops.3')
-rw-r--r-- | man3/sigsetops.3 | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/man3/sigsetops.3 b/man3/sigsetops.3 new file mode 100644 index 0000000..4172dbc --- /dev/null +++ b/man3/sigsetops.3 @@ -0,0 +1,191 @@ +'\" t +.\" Copyright (c) 1994 Mike Battersby +.\" +.\" SPDX-License-Identifier: Linux-man-pages-copyleft +.\" +.\" Modified by aeb, 960721 +.\" 2005-11-21, mtk, added descriptions of sigisemptyset(), sigandset(), +.\" and sigorset() +.\" 2007-10-26 mdw added wording that a sigset_t must be initialized +.\" prior to use +.\" +.TH SIGSETOPS 3 2023-07-20 "Linux man-pages 6.05.01" +.SH NAME +sigemptyset, sigfillset, sigaddset, sigdelset, sigismember \- POSIX +signal set operations +.SH LIBRARY +Standard C library +.RI ( libc ", " \-lc ) +.SH SYNOPSIS +.nf +.B #include <signal.h> +.PP +.BI "int sigemptyset(sigset_t *" set ); +.BI "int sigfillset(sigset_t *" set ); +.PP +.BI "int sigaddset(sigset_t *" set ", int " signum ); +.BI "int sigdelset(sigset_t *" set ", int " signum ); +.PP +.BI "int sigismember(const sigset_t *" set ", int " signum ); +.fi +.PP +.RS -4 +Feature Test Macro Requirements for glibc (see +.BR feature_test_macros (7)): +.RE +.PP +.BR sigemptyset (), +.BR sigfillset (), +.BR sigaddset (), +.BR sigdelset (), +.BR sigismember (): +.nf + _POSIX_C_SOURCE +.fi +.SH DESCRIPTION +These functions allow the manipulation of POSIX signal sets. +.PP +.BR sigemptyset () +initializes the signal set given by +.I set +to empty, with all signals excluded from the set. +.PP +.BR sigfillset () +initializes +.I set +to full, including all signals. +.PP +.BR sigaddset () +and +.BR sigdelset () +add and delete respectively signal +.I signum +from +.IR set . +.PP +.BR sigismember () +tests whether +.I signum +is a member of +.IR set . +.PP +Objects of type +.I sigset_t +must be initialized by a call to either +.BR sigemptyset () +or +.BR sigfillset () +before being passed to the functions +.BR sigaddset (), +.BR sigdelset (), +and +.BR sigismember () +or the additional glibc functions described below +.RB ( sigisemptyset (), +.BR sigandset (), +and +.BR sigorset ()). +The results are undefined if this is not done. +.SH RETURN VALUE +.BR sigemptyset (), +.BR sigfillset (), +.BR sigaddset (), +and +.BR sigdelset () +return 0 on success and \-1 on error. +.PP +.BR sigismember () +returns 1 if +.I signum +is a member of +.IR set , +0 if +.I signum +is not a member, and \-1 on error. +.PP +On error, these functions set +.I errno +to indicate the error. +.SH ERRORS +.TP +.B EINVAL +.I signum +is not a valid signal. +.SH ATTRIBUTES +For an explanation of the terms used in this section, see +.BR attributes (7). +.TS +allbox; +lbx lb lb +l l l. +Interface Attribute Value +T{ +.na +.nh +.BR sigemptyset (), +.BR sigfillset (), +.BR sigaddset (), +.BR sigdelset (), +.BR sigismember (), +.BR sigisemptyset (), +.BR sigorset (), +.BR sigandset () +T} Thread safety MT-Safe +.TE +.sp 1 +.SH VERSIONS +.SS GNU +If the +.B _GNU_SOURCE +feature test macro is defined, then \fI<signal.h>\fP +exposes three other functions for manipulating signal +sets: +.PP +.nf +.BI "int sigisemptyset(const sigset_t *" set ); +.BI "int sigorset(sigset_t *" dest ", const sigset_t *" left , +.BI " const sigset_t *" right ); +.BI "int sigandset(sigset_t *" dest ", const sigset_t *" left , +.BI " const sigset_t *" right ); +.fi +.PP +.BR sigisemptyset () +returns 1 if +.I set +contains no signals, and 0 otherwise. +.PP +.BR sigorset () +places the union of the sets +.I left +and +.I right +in +.IR dest . +.BR sigandset () +places the intersection of the sets +.I left +and +.I right +in +.IR dest . +Both functions return 0 on success, and \-1 on failure. +.PP +These functions are nonstandard (a few other systems provide similar +functions) and their use should be avoided in portable applications. +.SH STANDARDS +POSIX.1-2008. +.SH HISTORY +POSIX.1-2001. +.SH NOTES +When creating a filled signal set, the glibc +.BR sigfillset () +function does not include the two real-time signals used internally +by the NPTL threading implementation. +See +.BR nptl (7) +for details. +.SH SEE ALSO +.BR sigaction (2), +.BR sigpending (2), +.BR sigprocmask (2), +.BR sigsuspend (2) |