Noted pselect() treatment of timeout.

This commit is contained in:
Michael Kerrisk 2006-03-07 22:38:11 +00:00
parent e604b4fc73
commit 77f00d75f1
1 changed files with 14 additions and 1 deletions

View File

@ -205,7 +205,9 @@ On Linux,
modifies
.I timeout
to reflect the amount of time not slept; most other implementations
do not do this. This causes problems both when Linux code which reads
do not do this.
(POSIX.1-2001 permits either behaviour.)
This causes problems both when Linux code which reads
.I timeout
is ported to other operating systems, and when code is ported to Linux
that reuses a struct timeval for multiple
@ -357,6 +359,17 @@ was added to Linux in kernel 2.6.16.
Prior to this,
.BR pselect ()
was emulated in glibc (but see BUGS).
.SH "LINUX NOTES"
The Linux
.BR pselect ()
system call modifies its timeout argument.
However, the glibc wrapper functions hides this behaviour
by using a local variable for the timeout argument that
is passed to the system call.
Thus, the glibc
.BR pselect ()
function does not modify its timeout argument;
this is the behaviour required by POSIX.1-2001.
.SH BUGS
Glibc 2.0 provided a version of
.BR pselect ()