[zeromq-dev] inproc sockets

Pieter Hintjens ph at imatix.com
Tue May 21 00:56:02 CEST 2013


On Tue, May 21, 2013 at 12:25 AM, Andrew Hume <andrew at research.att.com> wrote:

> for example, if each of two threads needs to do a bind, and a connect to the
> other's bind, then this becomes a complicated dance.

Uhm, I'd say you have other problems if you create two co-dependent
threads like this. The only use case I can think of is when I want to
demonstrate how to write such a bogus (excuse me :-) piece of code
using 0MQ that it will deadlock. Decent upright tasks should never be
co-dependent like this.

> i guess its not bad if all the binds are independent, and all the connects
> depend only on the binds.
> but if any of this depends on other connections, then its really bad.
> (but maybe it always is.)

Inproc architectures cannot be random; they follow a structure and
that should IME be *strictly* hierarchical, so bind can always come
before connect. This saves inproc, by some luck, because it wasn't
clear when the transport was designed.

-Pieter



More information about the zeromq-dev mailing list