summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ip.cpp9
-rw-r--r--src/zmq_connecter.cpp2
2 files changed, 10 insertions, 1 deletions
diff --git a/src/ip.cpp b/src/ip.cpp
index 5de2485..c24d92f 100644
--- a/src/ip.cpp
+++ b/src/ip.cpp
@@ -301,7 +301,16 @@ int zmq::resolve_ip_hostname (sockaddr_storage *addr_, socklen_t *addr_len_,
addrinfo *res;
int rc = getaddrinfo (hostname.c_str (), service.c_str (), &req, &res);
if (rc) {
+
+ switch (rc) {
+ case EAI_MEMORY:
+ errno = ENOMEM;
+ break;
+ default:
errno = EINVAL;
+ break;
+ }
+
return -1;
}
diff --git a/src/zmq_connecter.cpp b/src/zmq_connecter.cpp
index fb77cdc..ca9bb77 100644
--- a/src/zmq_connecter.cpp
+++ b/src/zmq_connecter.cpp
@@ -45,7 +45,7 @@ zmq::zmq_connecter_t::zmq_connecter_t (class io_thread_t *io_thread_,
current_reconnect_ivl(options.reconnect_ivl)
{
int rc = tcp_connecter.set_address (protocol_, address_);
- zmq_assert (rc == 0);
+ zmq_assert (rc == 0); //TODO: take care ENOMEM, EINVAL
}
zmq::zmq_connecter_t::~zmq_connecter_t ()