diff options
author | Paul Colomiets <pc@gafol.net> | 2011-05-17 10:12:27 +0200 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2011-05-17 10:12:27 +0200 |
commit | 38e5f8699ccff09a91e37e139c4a86a259ac597b (patch) | |
tree | a014574dce93f65a0c4781bdf2798f7caf22d6f9 | |
parent | 864c18f797203c06e66e739166b246cfb3d47ce9 (diff) |
Better handling of memory error in resolve_ip_hostname
Signed-off-by: Paul Colomiets <pc@gafol.net>
-rw-r--r-- | src/ip.cpp | 9 | ||||
-rw-r--r-- | src/zmq_connecter.cpp | 2 |
2 files changed, 10 insertions, 1 deletions
@@ -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 () |