Roger Pack wrote: > Hmm. If you create a method thus: > class TCPSocket > def readableNow? > r,w,e = select([self],nil,nil,0) > return r != nil > end > end > > It turns out to use a select OTHER than IO.select. Anyone know, by > chance what the 'internal' select method does? > Thanks. > -Roger The kernel select method - 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. Dunno if thats what u were lookin for -- Posted via http://www.ruby-forum.com/.