[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.
-Pieter
More information about the zeromq-dev
mailing list