Re: [zeromq-dev] What is the canonical handling of zeromq sockets when fork+exec?

2016-11-26 Thread Luca Boccassi
On Fri, 2016-11-25 at 12:22 +0100, zmqdev wrote: > On 25.11.2016 11:50, Luca Boccassi wrote: > > What I can say is that we have a unit test for this situation: > > > > https://github.com/zeromq/libzmq/blob/master/tests/test_fork.cpp > > > > And the child closes the (TCP) socket explicitly before

Re: [zeromq-dev] What is the canonical handling of zeromq sockets when fork+exec?

2016-11-25 Thread zmqdev
On 25.11.2016 11:50, Luca Boccassi wrote: What I can say is that we have a unit test for this situation: https://github.com/zeromq/libzmq/blob/master/tests/test_fork.cpp And the child closes the (TCP) socket explicitly before the context. Which is in fact what should happen in all cases. The

Re: [zeromq-dev] What is the canonical handling of zeromq sockets when fork+exec?

2016-11-25 Thread Luca Boccassi
On Fri, 2016-11-25 at 10:37 +0100, zmqdev wrote: > * Background > > I have a service that starts workers on demand with fork+exec. > The requests arrive over zeromq sockets. > > After the fork, before the exec, I close all file descriptors > 2, > keeping only stdin/out/err. I then exec the

[zeromq-dev] What is the canonical handling of zeromq sockets when fork+exec?

2016-11-25 Thread zmqdev
* Background I have a service that starts workers on demand with fork+exec. The requests arrive over zeromq sockets. After the fork, before the exec, I close all file descriptors > 2, keeping only stdin/out/err. I then exec the requested program. * Problem It works. Except that I get some