changeset 30612:eaa517501321

Document a select() bug on Solaris 2.6.
author Bruno Haible <bruno@clisp.org>
date Sat, 20 Dec 2008 20:44:55 +0100
parents d8905f0d8d12
children d756c2ad4305
files ChangeLog doc/posix-functions/select.texi tests/test-select-in.sh
diffstat 3 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sat Dec 20 16:08:46 2008 +0100
+++ b/ChangeLog	Sat Dec 20 20:44:55 2008 +0100
@@ -1,3 +1,10 @@
+2008-12-20  Bruno Haible  <bruno@clisp.org>
+
+	* doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
+	/dev/null.
+	* tests/test-select-in.sh: Likewise.
+	Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
 2008-12-20  Bruno Haible  <bruno@clisp.org>
 
 	Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
--- a/doc/posix-functions/select.texi	Sat Dec 20 16:08:46 2008 +0100
+++ b/doc/posix-functions/select.texi	Sat Dec 20 20:44:55 2008 +0100
@@ -28,6 +28,10 @@
 On BeOS, @code{select} can only be called on descriptors created by the
 @code{socket} function, not on regular file descriptors.
 @item
+On Solaris 2.6 and older, @code{select} applied to a file descriptor opened
+for reading and associated with @code{/dev/null} hangs, waiting for input,
+when instead it should return immediately.
+@item
 On Linux, when some file descriptor refers to a regular file, @code{select}
 may fail, setting @code{errno} to @code{EBADF}.
 @end itemize
--- a/tests/test-select-in.sh	Sat Dec 20 16:08:46 2008 +0100
+++ b/tests/test-select-in.sh	Sat Dec 20 20:44:55 2008 +0100
@@ -1,6 +1,9 @@
 #!/bin/sh
 # Test select() on file descriptors opened for reading.
 
+# This test is known to fail on Solaris 2.6 and older, due to its handling
+# of /dev/null.
+
 tmpfiles=""
 trap 'rm -fr $tmpfiles' 1 2 3 15
 
@@ -23,6 +26,7 @@
 test `cat t-select-in.tmp` = "1" || exit 1
 
 # Special files.
+# This part of the test is known to fail on Solaris 2.6 and older.
 
 rm -f t-select-in.tmp
 ./test-select-fd${EXEEXT} r 0 t-select-in.tmp < /dev/null