[zeromq-dev] BUG: SUB socket + multi-part message + disconnect + recv = Assertion failed at src/fq.cpp:117
zmqdev
zmqdev at amitego.com
Fri Oct 7 10:28:50 CEST 2016
On 07.10.2016 10:14, Laughing wrote:
> *>>>* Is that mean that socket.disconnect does not disconnect from
> all endpoint connected before?
see http://api.zeromq.org/4-1:zmq-disconnect
int zmq_disconnect (void *socket, const char *endpoint);
zmq_disconnect disconnects the socket from the given endpoint *only*.
> *>>> *It is a so bad news. I would like to use the disconnect
> routine to discard messages in 'REQ/REP' and 'PUSH/PULL' mode.
A ZeroMQ socket holds received messages in a queue.
To empty the queue, you can
a. receive and discard the messages until zmq_poll tells
you there is no data
b. destroy, then recreate & reconnect the socket
I do not know the internal details, for example whether a socket has a
queue per connection.
The bug seems to point towards some data management problem between
queues in the socket.
More information about the zeromq-dev
mailing list