[zeromq-dev] NetMQ: Context Dispose/Terminate hangs

Pieter Hintjens ph at imatix.com
Thu Oct 24 14:04:44 CEST 2013


By default, zmq waits forever for sockets to finish sending messages.
It is not a brilliant design. We get around it by

- setting LINGER to a low value, or 0, on all sockets
- closing all sockets before calling zmq_term

Some bindings, like CZMQ, do this automatically, which takes care of
the problem.

On Thu, Oct 24, 2013 at 1:57 PM, Diego Duclos
<diego.duclos at palmstonegames.com> wrote:
> This is the same across every zmq implementation.
> Disposing of a context will hang unless all sockets have been disposed off
>
>
> On Thu, Oct 24, 2013 at 1:48 PM, Giacomo Tesio <giacomo at tesio.it> wrote:
>>
>> No one? I'm wondering if I should move to clrzmq...
>>
>> What about zmq_term hanging?
>>
>>
>> Giacomo
>>
>>
>> On Wed, Oct 23, 2013 at 11:38 PM, Giacomo Tesio <giacomo at tesio.it> wrote:
>>>
>>> Hi list,
>>>
>>> I'm following my adventure with ZeroMQ/NetMQ and I've found a strange
>>> behaviour: when I Dispose/Terminate the NetMQContext the call doesn't
>>> return.
>>>
>>> This is the code of the method (from github):
>>>
>>>
>>> if (Interlocked.CompareExchange(ref m_isClosed, 1, 0) == 0)
>>> {
>>>      ZMQ.Term(m_ctx);
>>> }
>>>
>>>
>>> Is this a bug? What should I do to properly dispose the context?
>>>
>>>
>>> Giacomo
>>>
>>>
>>>
>>>
>>
>>
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>



-- 
-
Pieter Hintjens
CEO of iMatix.com
Founder of ZeroMQ community
blog: http://hintjens.com



More information about the zeromq-dev mailing list