From f824b8a067c60b32260c56020742d6428ed3bb98 Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Thu, 10 Sep 2009 16:59:22 +0200 Subject: [PATCH] classify error from async connect as network related or 0MQ bugs --- src/tcp_connecter.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/tcp_connecter.cpp b/src/tcp_connecter.cpp index 70586484..80aeea8e 100644 --- a/src/tcp_connecter.cpp +++ b/src/tcp_connecter.cpp @@ -106,6 +106,11 @@ zmq::fd_t zmq::tcp_connecter_t::connect () int rc = getsockopt (s, SOL_SOCKET, SO_ERROR, (char*) &err, &len); zmq_assert (rc == 0); if (err != 0) { + + // Assert that the error was caused by the networking problems + // rather than 0MQ bug. + zmq_assert (err == ECONNREFUSED); + errno = err; return retired_fd; } @@ -217,6 +222,11 @@ zmq::fd_t zmq::tcp_connecter_t::connect () if (rc == -1) err = errno; if (err != 0) { + + // Assert that the error was caused by the networking problems + // rather than 0MQ bug. + zmq_assert (err == ECONNREFUSED); + errno = err; return retired_fd; }