diff options
Diffstat (limited to 'src/tcp_connecter.cpp')
-rw-r--r-- | src/tcp_connecter.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/tcp_connecter.cpp b/src/tcp_connecter.cpp index 17c0257..dee71be 100644 --- a/src/tcp_connecter.cpp +++ b/src/tcp_connecter.cpp @@ -117,10 +117,10 @@ zmq::fd_t zmq::tcp_connecter_t::connect () // Assert that the error was caused by the networking problems // rather than 0MQ bug. - zmq_assert (err == WSAECONNREFUSED || err == WSAETIMEDOUT || - err == WSAECONNABORTED); - errno = err; + errno_assert (errno == WSAECONNREFUSED || errno == WSAETIMEDOUT || + errno == WSAECONNABORTED || errno == WSAEHOSTUNREACH); + return retired_fd; } @@ -291,11 +291,12 @@ zmq::fd_t zmq::tcp_connecter_t::connect () err = errno; if (err != 0) { - // Assert that the error was caused by the networking problems - // rather than 0MQ bug. - zmq_assert (err == ECONNREFUSED || err == ETIMEDOUT); - + // Assert if the error was caused by 0MQ bug. + // Networking problems are OK. No need to assert. errno = err; + errno_assert (errno == ECONNREFUSED || errno == ECONNRESET || + errno == ETIMEDOUT || errno == EHOSTUNREACH); + return retired_fd; } |