summaryrefslogtreecommitdiffstats
path: root/man2/sigprocmask.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/sigprocmask.2')
-rw-r--r--man2/sigprocmask.2224
1 files changed, 0 insertions, 224 deletions
diff --git a/man2/sigprocmask.2 b/man2/sigprocmask.2
deleted file mode 100644
index f0017b4..0000000
--- a/man2/sigprocmask.2
+++ /dev/null
@@ -1,224 +0,0 @@
-.\" Copyright (c) 2005 Michael Kerrisk
-.\" based on earlier work by faith@cs.unc.edu and
-.\" Mike Battersby <mib@deakin.edu.au>
-.\"
-.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.\"
-.\" 2005-09-15, mtk, Created new page by splitting off from sigaction.2
-.\"
-.TH sigprocmask 2 2023-10-31 "Linux man-pages 6.7"
-.SH NAME
-sigprocmask, rt_sigprocmask \- examine and change blocked signals
-.SH LIBRARY
-Standard C library
-.RI ( libc ", " \-lc )
-.SH SYNOPSIS
-.B #include <signal.h>
-.P
-.nf
-/* Prototype for the glibc wrapper function */
-.BI "int sigprocmask(int " how ", const sigset_t *_Nullable restrict " set ,
-.BI " sigset_t *_Nullable restrict " oldset );
-.P
-.BR "#include <signal.h>" " /* Definition of " SIG_* " constants */"
-.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
-.B #include <unistd.h>
-.P
-/* Prototype for the underlying system call */
-.BI "int syscall(SYS_rt_sigprocmask, int " how ,
-.BI " const kernel_sigset_t *_Nullable " set ,
-.BI " kernel_sigset_t *_Nullable " oldset ,
-.BI " size_t " sigsetsize );
-.P
-/* Prototype for the legacy system call */
-.BI "[[deprecated]] int syscall(SYS_sigprocmask, int " how ,
-.BI " const old_kernel_sigset_t *_Nullable " set ,
-.BI " old_kernel_sigset_t *_Nullable " oldset );
-.fi
-.P
-.RS -4
-Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
-.RE
-.P
-.BR sigprocmask ():
-.nf
- _POSIX_C_SOURCE
-.fi
-.SH DESCRIPTION
-.BR sigprocmask ()
-is used to fetch and/or change the signal mask of the calling thread.
-The signal mask is the set of signals whose delivery is currently
-blocked for the caller
-(see also
-.BR signal (7)
-for more details).
-.P
-The behavior of the call is dependent on the value of
-.IR how ,
-as follows.
-.TP
-.B SIG_BLOCK
-The set of blocked signals is the union of the current set and the
-.I set
-argument.
-.TP
-.B SIG_UNBLOCK
-The signals in
-.I set
-are removed from the current set of blocked signals.
-It is permissible to attempt to unblock a signal which is not blocked.
-.TP
-.B SIG_SETMASK
-The set of blocked signals is set to the argument
-.IR set .
-.P
-If
-.I oldset
-is non-NULL, the previous value of the signal mask is stored in
-.IR oldset .
-.P
-If
-.I set
-is NULL, then the signal mask is unchanged (i.e.,
-.I how
-is ignored),
-but the current value of the signal mask is nevertheless returned in
-.I oldset
-(if it is not NULL).
-.P
-A set of functions for modifying and inspecting variables of type
-.I sigset_t
-("signal sets") is described in
-.BR sigsetops (3).
-.P
-The use of
-.BR sigprocmask ()
-is unspecified in a multithreaded process; see
-.BR pthread_sigmask (3).
-.SH RETURN VALUE
-.BR sigprocmask ()
-returns 0 on success.
-On failure, \-1 is returned and
-.I errno
-is set to indicate the error.
-.SH ERRORS
-.TP
-.B EFAULT
-The
-.I set
-or
-.I oldset
-argument points outside the process's allocated address space.
-.TP
-.B EINVAL
-Either the value specified in
-.I how
-was invalid or the kernel does not support the size passed in
-.I sigsetsize.
-.SH VERSIONS
-.SS C library/kernel differences
-The kernel's definition of
-.I sigset_t
-differs in size from that used
-by the C library.
-In this manual page, the former is referred to as
-.I kernel_sigset_t
-(it is nevertheless named
-.I sigset_t
-in the kernel sources).
-.P
-The glibc wrapper function for
-.BR sigprocmask ()
-silently ignores attempts to block the two real-time signals that
-are used internally by the NPTL threading implementation.
-See
-.BR nptl (7)
-for details.
-.P
-The original Linux system call was named
-.BR sigprocmask ().
-However, with the addition of real-time signals in Linux 2.2,
-the fixed-size, 32-bit
-.I sigset_t
-(referred to as
-.I old_kernel_sigset_t
-in this manual page)
-type supported by that system call was no longer fit for purpose.
-Consequently, a new system call,
-.BR rt_sigprocmask (),
-was added to support an enlarged
-.I sigset_t
-type
-(referred to as
-.I kernel_sigset_t
-in this manual page).
-The new system call takes a fourth argument,
-.IR "size_t sigsetsize" ,
-which specifies the size in bytes of the signal sets in
-.I set
-and
-.IR oldset .
-This argument is currently required to have a fixed architecture specific value
-(equal to
-.IR sizeof(kernel_sigset_t) ).
-.\" sizeof(kernel_sigset_t) == _NSIG / 8,
-.\" which equals to 8 on most architectures, but e.g. on MIPS it's 16.
-.P
-The glibc
-.BR sigprocmask ()
-wrapper function hides these details from us, transparently calling
-.BR rt_sigprocmask ()
-when the kernel provides it.
-.\"
-.SH STANDARDS
-POSIX.1-2008.
-.SH HISTORY
-POSIX.1-2001.
-.SH NOTES
-It is not possible to block
-.BR SIGKILL " or " SIGSTOP .
-Attempts to do so are silently ignored.
-.P
-Each of the threads in a process has its own signal mask.
-.P
-A child created via
-.BR fork (2)
-inherits a copy of its parent's signal mask;
-the signal mask is preserved across
-.BR execve (2).
-.P
-If
-.BR SIGBUS ,
-.BR SIGFPE ,
-.BR SIGILL ,
-or
-.B SIGSEGV
-are generated
-while they are blocked, the result is undefined,
-unless the signal was generated by
-.BR kill (2),
-.BR sigqueue (3),
-or
-.BR raise (3).
-.P
-See
-.BR sigsetops (3)
-for details on manipulating signal sets.
-.P
-Note that it is permissible (although not very useful) to specify both
-.I set
-and
-.I oldset
-as NULL.
-.SH SEE ALSO
-.BR kill (2),
-.BR pause (2),
-.BR sigaction (2),
-.BR signal (2),
-.BR sigpending (2),
-.BR sigsuspend (2),
-.BR pthread_sigmask (3),
-.BR sigqueue (3),
-.BR sigsetops (3),
-.BR signal (7)