Hi Jonathan,
On Wed, May 15, 2002 at 02:08:31PM -0700, Jonathan Biggar wrote:
> Think of each waitable socket as having an internal flag. It is set
> when EWOULDBLOCK is returned by a write, and reset when
> WaitForMultipleObjects returns that the sockeet is writable. If your
> application code doesn't cause the flag to toggle back and forth by
> properly interleaving write() calls that return EWOULDBLOCK with
> WaitForMultipleObjects() calls, then your code is broken.
Right! However, most folks that have traditionally used
select()/poll() may not be used to interleaving write() calls that
return EWOULDBLOCK with the underlying event demultiplexing mechanism, such
as WaitForMultipleObjects() since it isn't necessary to do so with
select()/poll().
It seems that the confusion occurs since the default reactor on
Windows has different semantics than the default reactor on Linux, for
example.
-Ossama
--
Ossama Othman <ossama@...>
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068 70E6 5EB7 5E71 F7A3 94A8