.\" 2005-03-11, mtk, modified pselect() text (it is now a system
.\" call in 2.6.16.
.\"
-.TH SELECT 2 2008-12-05 "Linux" "Linux Programmer's Manual"
+.TH SELECT 2 2010-08-31 "Linux" "Linux Programmer's Manual"
.SH NAME
select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO \-
synchronous I/O multiplexing
is passed to the system call.
Thus, the glibc
.BR pselect ()
-function does not modify its timeout argument;
+function does not modify its
+.I timeout
+argument;
this is the behavior required by POSIX.1-2001.
.SH BUGS
Glibc 2.0 provided a version of
.I sigmask
argument.
-Since version 2.1, glibc has provided an emulation of
+Starting with version 2.1, glibc provided an emulation of
.BR pselect ()
-that is implemented using
+that was implemented using
.BR sigprocmask (2)
and
.BR select ().
-This implementation remains vulnerable to the very race condition that
+This implementation remained vulnerable to the very race condition that
.BR pselect ()
was designed to prevent.
+Modern versions of glibc use the (race-free)
+.BR pselect ()
+system call on kernels where it is provided.
+
On systems that lack
.BR pselect (),
reliable (and more portable) signal trapping can be achieved