Are you saying that the problem is in the underlying C library? On Thursday 27 February 2003 01:37 am, Mauricio FernáÏdez wrote: > On Thu, Feb 27, 2003 at 05:27:26PM +0900, Seth Kurtzberg wrote: > > The read call is already preceded by kernel#select(), but that doesn't > > help. kernel#select() tells me that data is available to read, but it > > doesn't stop IO#read() from blocking if it's buffer size is larger than > > the amount of data available to read. > > Yeah, normally I'd use IO#sys_read, but as you cannot here... > > Perhaps it'd be helpful to implement IO#read in terms of IO#sys_read to > have both non-blocking buffered / non-blocking, non-buff. semantics (or > better call it IO#nb_read). > Otherwise I don't think there's much to do, as IO#read is implemented > with fread() and IO#sys_read with read()... -- Seth Kurtzberg M. I. S. Corp. 480-661-1849 seth / cql.com