Browse thread
Select on channels (again)
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ 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, Unix.select would do what you expect, and then you can use Unix.in_channel_of_descr to get an ocaml in_channel to read from. And if I'm misunderstanding you, then perhaps the problem isn't really Unix.select... Jonathan