summaryrefslogtreecommitdiff
path: root/src/tcp_connecter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tcp_connecter.cpp')
-rw-r--r--src/tcp_connecter.cpp15
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;
}