Bug #3728 » issue3728.patch
io.c | ||
---|---|---|
* [, error_array
|
||
* [, timeout]]] )-> array or nil
|
||
*
|
||
* See <code>Kernel#select</code>.
|
||
* Calls select(2) system call.
|
||
* It returns an array that contains arrays of IO objects that are ready
|
||
* for * reading, are ready for writing, and have pending exceptions
|
||
* respectably. It returns nil on timeout.
|
||
*
|
||
* rp, wp = IO.pipe
|
||
* mesg = "ping "
|
||
* 100.times {
|
||
* rs, ws, = IO.select([rp], [wp])
|
||
* if r = rs[0]
|
||
* ret = r.read(5)
|
||
* print ret
|
||
* case ret
|
||
* when /ping/
|
||
* mesg = "pong\n"
|
||
* when /pong/
|
||
* mesg = "ping "
|
||
* end
|
||
* end
|
||
* if w = ws[0]
|
||
* w.write(mesg)
|
||
* end
|
||
* }
|
||
*
|
||
* <em>produces:</em>
|
||
*
|
||
* ping pong
|
||
* ping pong
|
||
* ping pong
|
||
* (snipped)
|
||
* ping
|
||
*/
|
||
static VALUE
|
||
rb_f_select(int argc, VALUE *argv, VALUE obj)
|
||
{
|