On Jan 20, 2012, at 12:35 AM, Mikko Koppanen wrote: > > it looks like you are using the C++ bindings. If you look at the > definition of send and recv: > > https://github.com/zeromq/zeromq2-1/blob/master/include/zmq.hpp#L314 > https://github.com/zeromq/zeromq2-1/blob/master/include/zmq.hpp#L324 > > They will return true or false or thow error_t based on status. This > would probably break the following assertion in your code: > > assert(socket.send (request)== 0); > > Changing the socket.send and socket.recv assertions to == true gives > me the following output on Mac OS X: > > $ ./a.out > Starting workers.. > Sending Data... > Sending Data... > Sending Data... > Sending Data... > status = 35 > Received: Ghiasd! > status = 35 > Received: Ghiasd! > status = 35 > Received: Ghiasd! > status = 35 > Received: Ghiasd!
Thanks.. I missed that.. I've got some live code that is very similar to this on a Solaris 10 server and the first thread to do a send hangs the entire process since it ends up doing a poll() down in the bowels.. I do not have a stackdump unfortunately since it's not on wired server (disconnected from the Internet)… I'll have to look at it closer to see if there's a disconnect between it and this sample code.
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
