[zeromq-dev] lost message due to EINTR

Pieter Hintjens ph at imatix.com
Fri Jan 9 13:37:14 CET 2015

On Fri, Jan 9, 2015 at 1:25 PM,  <sven.koebnick at t-online.de> wrote:

> I get that error only during debuging inside Eclipse C++ (gdb).

Makes sense. The debugger is sending interrupt signals. It's going to
make a mess of any logic that uses them. I don't think you can make
the code robust against this, nor would it be a good idea to make the
code more complex just so it will work under a debugger.

> If you know, what else causes EINTRs beside Ctrl-C and likewise, just tell
> me ... I just don't know. Using ZMQ2, I NEVER had EINTR, even if single
> stepping the application.

Hmm. A lot changed from ZMQ v2 to v4. Also, CZMQ is doing default
signal handling that you might want to modify (it has hooks so you can
switch it off).

> Didn't you ever happen to get EINTR in your own testing?

I personally don't use debuggers except to read core dumps. Stepping
through code is insanely pointless in a multithreaded app. It's better
IME to use tracing and even simply printf statements.

See if it happens outside Eclipse, then we can try to find the source
of the signals.


More information about the zeromq-dev mailing list