Hi all!

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

Reply via email to