select.2: Add further details on pselect6() system call that underlies pselect()

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Michael Kerrisk 2012-05-02 15:36:05 +12:00
parent 736552001d
commit a16eec1e9c
1 changed files with 30 additions and 1 deletions

View File

@ -412,8 +412,16 @@ when
is defined.
Since glibc 2.2.2 the requirements are as shown in the SYNOPSIS.
.SS "Linux Notes"
The Linux
The
.BR pselect ()
interface described in this page is implemented by glibc.
The underlying Linux system call is named
.BR pselect6 ().
This system call has somewhat different behavior from the gibc
wrapper function.
The Linux
.BR pselect6 ()
system call modifies its
.I timeout
argument.
@ -426,6 +434,27 @@ function does not modify its
.I timeout
argument;
this is the behavior required by POSIX.1-2001.
The final argument of the
.BR pselect6()
system call is not a
.I "sigset_t\ *"
pointer, but is instead a structure of the form:
.in +4
.nf
struct {
const sigset_t *ss; /* Pointer to signal set */
size_t ss_len; /* Size (in bytes) of object pointed
to by 'ss' */
};
.fi
.in
This allows the system call to obtain both
a pointer to the signal set and its size,
while allowing for the fact that most architectures
support a maximum of 6 arguments to a system call.
.SH BUGS
Glibc 2.0 provided a version of
.BR pselect ()