Boost logo

Boost :

From: Carlo Wood (carlo_at_[hidden])
Date: 2004-09-13 12:44:13


On Mon, Sep 13, 2004 at 10:18:00AM -0500, Aaron W. LaFramboise wrote:
> > But while that might be possible on GNU/Linux, it might be impossible
> > on windows (for example). The demand to provide a portable interface
> > forces us to create (hidden) threads therefore. If a user decided that
> > he only needs one thread and the library is not allowed to implement
> > the requested interface by running two or more threads internally,
> > then how can I implement an interface that allows one to wait for
> > events on 100 sockets, a timer, a few named pipes, a fifo and some
> > large diskfile I/O at the same time? That is possible on linux,
> > but I failed to figure out how this can be done on windows :/
>
> I am confused. What feature is missing on Windows? It is my perception
> that the Windows API is quite as expressive as anything Linux has.

No, I am confused. You do as if it trivial. But where is the answer to
my question? How can I implement an interface that allows one to wait for
events on 100 sockets, a timer, a few named pipes, a fifo and some
large diskfile I/O at the same time?
Is your answer WaitForMultipleObjects ? Then 1) what about the limit
of 64? And 2) How can I use that to wait for events on SOCKET's? The
only thing I can find for that is WSAWaitForMultipleEvents. But obviously
you can call WSAWaitForMultipleEvents *and* WaitForMultipleObjects at
the same time (without using threads).

-- 
Carlo Wood <carlo_at_[hidden]>

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk