Hi,

I noticed that there are two mechanisms to decide which poller
(devpoll,epoll,kqueue,poll,select) to use:

* poller.hpp makes a choice based on the operation system (e.g.
  ZMQ_HAVE_LINUX or ZMQ_HAVE_WINDOWS) unless overridden by one of the
  ZMQ_FORCE_* macros.

* configure uses the LIBZMQ_CHECK_POLLER function from acinclude.m4 to
  detect which poller to use.

This can be confusing to the casual reader of poller.hpp, as
LIBZMQ_CHECK_POLLER may make a different choice than the include file
would have made. In my case: ZMQ_HAVE_CYGWIN but ZMQ_FORCE_POLL, and I
didn't realise that the configure script sets one of the ZMQ_FORCE_* macros.

Now my first question: is this particular example (Cygwin and poll) a
bug and where? ZMQ_USE_POLL works for me up to a 1021 sockets, while
ZMQ_USE_SELECT works only up to 28 (!) sockets. What is the "correct"
default for Cygwin?

And my second question: is there a need and way to make the potential
ambiguity clearer? Possible answers:

* no, any developer is supposed to check the configure output very
  carefully
* just add a comment to poller.hpp that configure sets one of the
  ZMQ_FORCE_* macros
* make the two mechanisms give the same result, if possible
* remove the poller.hpp selection mechanism

Comments?

Best regards,
Olaf Mandel

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to