mirror of https://github.com/mkerrisk/man-pages
sigprocmask.2: Add discussion of rt_sigprocmask(2)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
78898dc791
commit
166b65db90
|
@ -28,7 +28,7 @@
|
|||
.\"
|
||||
.TH SIGPROCMASK 2 2013-04-19 "Linux" "Linux Programmer's Manual"
|
||||
.SH NAME
|
||||
sigprocmask \- examine and change blocked signals
|
||||
sigprocmask, rt_sigprocmask \- examine and change blocked signals
|
||||
.SH SYNOPSIS
|
||||
.B #include <signal.h>
|
||||
.sp
|
||||
|
@ -141,6 +141,36 @@ or
|
|||
See
|
||||
.BR sigsetops (3)
|
||||
for details on manipulating signal sets.
|
||||
.\"
|
||||
.SS C library/kernel ABI differences
|
||||
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
|
||||
.IR sigset_t
|
||||
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
|
||||
.IR sigset_t
|
||||
type.
|
||||
The new system call takes a fourth argument,
|
||||
.IR "size_t sigsetsize" ,
|
||||
which specifies the size in bytes of the signal sets in
|
||||
.IR set
|
||||
and
|
||||
.IR oldset .
|
||||
This argument is currently required to have the value
|
||||
.IR sizeof(sigset_t)
|
||||
(or the error
|
||||
.B EINVAL
|
||||
results).
|
||||
The glibc
|
||||
.BR sigprocmask ()
|
||||
wrapper function hides these details from us, transparently calling
|
||||
.BR rt_sigprocmask ()
|
||||
when the kernel provides it.
|
||||
.\"
|
||||
.SH SEE ALSO
|
||||
.BR kill (2),
|
||||
.BR pause (2),
|
||||
|
|
Loading…
Reference in New Issue