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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
