diff --git a/man2/select.2 b/man2/select.2 index 19bac13a8..2e62cbf27 100644 --- a/man2/select.2 +++ b/man2/select.2 @@ -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 ()