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