[zeromq-dev] select on windows?

john skaller skaller at users.sourceforge.net
Sat Jan 21 10:08:44 CET 2012


On 21/01/2012, at 7:02 PM, Martin Sustrik wrote:

> On 21/01/12 08:51, john skaller wrote:
>> Just curious .. why does 0MQ use select on Windows?
>> Instead of IO completion ports?
> 
> Many have tried to patch this and many have failed  :)

I'm not surprised .. 

> It's a reoccuring problem that has an impact of quite o lot of features. For example NamedPipes cannot be used for IPC because you cannot poll on HANDLEs using select(). Also, internal eventing is done via TCP sockets which is silly and slow but there's no other option with select() in place.
> 
> If someone fixes this, he'll do a big service to the community.


Unfortunately, whilst I can run Vista on my Mac, I don't have any development tools.
(And I'm not going to download them using wireless internet which is all I can use
at the moment;)

If anyone wants to look at this problem, Felix has support for Windows I/O completion
ports . Also Solaris I/O completion ports. I believe it works, though I can't test it, and it 
may not be a good match for ZeroMQ.

Felix uses an "object oriented" notification system called "demux" for some
obscure reason.There's a bunch of files here:

http://felix-lang.org/$//home/skaller/felix/src/demux/win

[The Felix sources are on GitHub if that's any use]

--
john skaller
skaller at users.sourceforge.net







More information about the zeromq-dev mailing list