[zeromq-dev] IPC and free ports

andrea crotti andrea.crotti.0 at gmail.com
Thu Oct 18 14:32:07 CEST 2012


2012/10/13 Pieter Hintjens <pieterh at gmail.com>:
> On Oct 12, 2012 6:32 PM, "andrea crotti" <andrea.crotti.0 at gmail.com> wrote:
>
>> But why double binding on IPC doesn't fail, when should that be a good idea?
>
> The code explicitly overrides an existing binding on an IPC endpoint
> so it can recover after a crashed process.
>
> There's been discussion before over whether this is the right strategy or not.
>
> For me, the problem is that it's inconsistent with other transports
> (as you've found). We expect binding to be exclusive.
>
> If I had designed this I'd probably give applications an explicit way
> to recover after a crash, but reject a second attempt to bind to the
> same IPC endpoint. Note that the current behavior is NOT documented
> anywhere, so we are free to change it.
>


I think it should or raise a warning saying that the IPC file already
exists..

What's the difference between IPC and TCP in terms of recovering after
a crash?  Maybe the TCP port gets closed anyway and the file instead
can't get cleaned up?

Also because the great thing about ZMQ is that is simple and
consistent, and since this is a clear exception to the rule it should
be at least written somewhere.



More information about the zeromq-dev mailing list