--- orig.io.c 2010-07-24 05:38:33.000000000 -0500
+++ io.c 2010-09-17 17:49:20.000000000 -0500
@@ -7292,12 +7292,22 @@
/*
* call-seq:
- * IO.select(read_array
- * [, write_array
- * [, error_array
- * [, timeout]]] )-> array or nil
+ * [IO.]select(read_array [, write_array [, error_array [, timeout ]]]) -> array | nil
*
- * See Kernel#select
.
+ * Performs a low-level select call, which waits for data
+ * to become available from input/output devices. The first three
+ * parameters are arrays of +IO+ objects or +nil+. The last is a
+ * timeout in seconds, which should be an +Integer+ or a +Float+.
+ * The call waits for data to become available for any of the +IO+
+ * objects in _read_array_, for buffers to have cleared sufficiently to
+ * enable writing to any of the devices in _write_array_, or for an error
+ * to occur on the devices in _error_array_. If one or more of these
+ * conditions are met, the call returns a three-element array containing
+ * arrays of the +IO+ objects that were ready. Otherwise, if there is no
+ * change in status for _timeout_ seconds, the call returns +nil+. If all
+ * parameters are +nil+, the current thread sleeps forever.
+ *
+ * select( [STDIN], nil, nil, 1.5 )
*/
static VALUE