Spurious message when ROUTER connects
Description
Environment
OSX 10.7.2, pyzmq 2.1dev
Attachments
6
Activity
Show:

Martin Sustrik December 17, 2011 at 10:17 PM
Great! I'm resolving the issue.

Min RK December 17, 2011 at 4:06 PM
Indeed it appears fixed. What's more, the entire pyzmq test suite is passing. Hooray!
Thanks. Should I mark this as resolved, or leave that to you?

Martin Sustrik December 17, 2011 at 9:20 AM
The fix is committed to the trunk. Can you please retest? (Sorry for the delay.)

Martin Sustrik December 17, 2011 at 9:19 AM
C++ test case attached.

Min RK November 15, 2011 at 5:11 PM
I still see rep.cpp:75 in the pyzmq test suite with latest libzmq, and is easily reproducible by polling prior to rep.recv():
When ROUTERs connect, they get messages that shouldn't exist.
Case 1: DEALER binds, ROUTER connects.
poll(ROUTER, POLLIN)
indicates that a message is waiting, but it never arrives.Case 2: two DEALERs bind, and ROUTER connects to both. poll(ROUTER, POLLIN) indicates that a message is waiting, and recv() will return the two-part message with the IDENTITY of the second DEALER.
Neither problem occurs when ROUTER is the binding socket.