I use inproc in multi threaded applications as my standard approach
now - even in things that don't communicate externally with anything
else.  I agree with you Pieter that 1) inproc transport works
wonderfully for this and 2) the fact that you have to bind first has
never caused me a problem when using czmq in this particular area.

Brian

On Fri, Oct 19, 2012 at 10:00 PM, Pieter Hintjens <[email protected]> wrote:
> On Fri, Oct 19, 2012 at 10:15 PM, Chuck Remes <[email protected]> wrote:
>
>> It may be safe for inproc, but I never write code using this assumption. Any 
>> change to the transport type breaks the application because the others are 
>> all asynchronous.
>
> The only place I use it (and it works very well there) is in thread
> creation, together with PAIR sockets. In CZMQ we use this to create
> "attached threads" that have a pipe back to the caller.
>
>> This is a long-time and well-known flaw in the library. The inproc transport 
>> is different and it causes problems when part of the marketing message in 
>> zeromq says that you can start with in-process communication and 
>> effortlessly scale out just by changing a single line of code.
>
> True. Using inproc successfully relies on doing the binds before
> creating child threads, whereas other transports don't.
>
> -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