OSDN Git Service

(split) LDP: Update original to LDP v3.39.
[linuxjm/LDP_man-pages.git] / original / man2 / select.2
index 1bba6b3..4990228 100644 (file)
@@ -35,7 +35,7 @@
 .\" 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
@@ -418,7 +418,9 @@ 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;
+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
@@ -427,15 +429,19 @@ that did not take a
 .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