Perhaps I misinterpreted this sentence on the zmq_close() page:
"The default setting of *ZMQ_LINGER* does not discard unsent messages"


On Tue, Jan 14, 2014 at 8:47 AM, Pieter Hintjens <[email protected]> wrote:

> On Tue, Jan 14, 2014 at 12:34 PM, Lindley French <[email protected]>
> wrote:
>
> > According to the docs, by default if a socket is closed, its send queue
> will
> > still be sent. However, the behavior I'm seeing casts some doubt on this.
>
> Where is this stated? Afaik the socket pipes (with messages) are
> destroyed when the socket is destroyed, which will wait for the LINGER
> time set on that socket, if there are messages waiting to be sent.
>
> > One practical solution would be for the ROUTER to send back a "THANKS"
> > message to the DEALER once it has everything, and not allow the socket to
> > close until then. I would like to understand the subtleties of the
> > implementation, though.
>
> Indeed, that's what you'd want to do. Closing the socket will drop an
> undefined messages in flight unless you set infinite linger, which can
> lead to your application blocking.
>
> -Pieter
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to