Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Select on channels (again)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2006-08-22 (06:41)
From: Jonathan Roewen <jonathan.roewen@g...>
Subject: Re: [Caml-list] Re: Select on channels (again)
> It sounds simple but doesn't work.  If select tells you a file
> descriptor doesn't have data waiting you can't be sure there isn't
> still data in the corresponding channel's buffer.  See the thread that
> I referenced for a good discussion of why this is annoying.  For one
> thing, it makes it impossible to use Marshal.from_channel without
> potentially blocking.

Either one of us is misunderstanding the other....

Instead of using Pervasives.open_xxx, use Unix.openfile which returns
Unix.file_descr, and also doesn't use internal ocaml buffering.

Then, presumably, would do what you expect, and then you
can use Unix.in_channel_of_descr to get an ocaml in_channel to read

And if I'm misunderstanding you, then perhaps the problem isn't really