I have a queer behaviour in my services build on zmq. I tried to write a minimal testcase, but failed to rebuild this bug in a smaller program ;o(
Hopefully my description is enough to find the cause:
I have a PUB/SUB socket, where several messages already have passed successfully. As the last message, I send a "SELFKILL" to the PUB socket, which does NOT (mostly, but not allways) cause the poll( ... ,-1) at the other (SUB) end to return.
If I send the message twice, they BOTH get signaled by poll(... ,-1).
I replaced the poll(... ,-1) with poll(... , 180000000) for testing, if a second call to poll would "find" the waiting message and indeed, now the last message is signaled properly.
In addition, a poll with 180 seconds (an 18 and 7 zeros) does NEVER wait so long, but return immediately. If there is no message available, it returns 0 as expected, but sometimes the ERRNO is set to 0 (SUCCESS) and sometimes ERRNO is set to 11 (Ressource temporarily not available). What do theese different ERRNOs mean? Can I understand ERRNO=11 as "there is no PUB socket connected"? (I bind the SUB and connect the PUB!)
My Version is zeromq-2.0.10.
Do you have an idea, what I do wrong, or is there maybe a bug in ZMQ?
^5
Sven
---------------------------------------------------------
E = mc² ± 2dBA ----- everything is relative
---------------------------------------------------------
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
