[zeromq-dev] zmq::mtrie_t::rm_helper(..)
Pieter Hintjens
ph at imatix.com
Fri Mar 22 18:07:05 CET 2013
I just tried sending multiple unsubscribes to an XSUB socket, it's
doesn't crash the XPUB socket.
Not that the code may still be wrong here. I'd try removing the
assert, to start with. We'd still need to reproduce this to be sure.
-Pieter
On Fri, Mar 22, 2013 at 5:57 PM, Pau <pau at teleopsia.com> wrote:
> All this thread was a mistake, sorry about that.
>
> What is actually happening in my application is that receiving an
> ZMQ_UNSUBSCRIBE in a socket that perhaps never received the
> corresponding ZMQ_SUBSCRIBE a zmq_assert is triggered.
>
> [mtrie.cpp]
> bool zmq::mtrie_t::rm_helper (unsigned char *prefix_, size_t size_,
> pipe_t *pipe_)
> {
> if (!size_) {
> if (pipes) {
> pipes_t::size_type erased = pipes->erase (pipe_);
> zmq_assert (erased == 1); <============================
> if (pipes->empty ()) {
> delete pipes;
> pipes = 0;
> }
> }
> return !pipes;
> }
>
>
> I have several applications publishing and several subscribing, both
> cases use one socket so when subscriber subscribes it is connected to
> various publishers and when unsubscribes also. I use PUB/SUB.
> Is there any limitation?
>
> I am facing some stress on that, so if someone has a clue about what
> generates the assert or what I am missing I would highly appreciate.
>
> Thanks.
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
More information about the zeromq-dev
mailing list