summaryrefslogtreecommitdiff
path: root/src/tcp_listener.cpp
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@fastmq.commkdir>2009-08-29 09:41:50 +0200
committerMartin Sustrik <sustrik@fastmq.commkdir>2009-08-29 09:41:50 +0200
commit6996ef6f1a0a50a754608df9444e425d0900b143 (patch)
tree334a30e95fd68fa46e8536eece55c5fdd7dda15e /src/tcp_listener.cpp
parentcb09c6951e2c4405318b422a1f9213af3e4b6b8a (diff)
improved error handling
Diffstat (limited to 'src/tcp_listener.cpp')
-rw-r--r--src/tcp_listener.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/tcp_listener.cpp b/src/tcp_listener.cpp
index 937618d..de62879 100644
--- a/src/tcp_listener.cpp
+++ b/src/tcp_listener.cpp
@@ -55,11 +55,10 @@ zmq::tcp_listener_t::~tcp_listener_t ()
int zmq::tcp_listener_t::set_address (const char *addr_)
{
// Convert the interface into sockaddr_in structure.
- return resolve_ip_interface (&addr, addr_);
-}
+ int rc = resolve_ip_interface (&addr, addr_);
+ if (rc != 0)
+ return rc;
-int zmq::tcp_listener_t::open ()
-{
// Create a listening socket.
s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (s == -1)
@@ -67,7 +66,7 @@ int zmq::tcp_listener_t::open ()
// Allow reusing of the address.
int flag = 1;
- int rc = setsockopt (s, SOL_SOCKET, SO_REUSEADDR, &flag, sizeof (int));
+ rc = setsockopt (s, SOL_SOCKET, SO_REUSEADDR, &flag, sizeof (int));
errno_assert (rc == 0);
// Set the non-blocking flag.