summaryrefslogtreecommitdiff
path: root/src/tcp_connecter.cpp
diff options
context:
space:
mode:
authorSteven McCoy <steven.mccoy@miru.hk>2011-08-15 08:56:00 +0200
committerMartin Sustrik <sustrik@250bpm.com>2011-08-15 08:56:00 +0200
commit57440b86e2c62c78f3904abb17f11500ba0a1a6f (patch)
treedfcb52dfc43057f5628033e062a42991b4591771 /src/tcp_connecter.cpp
parent3c3c0bfd1f5b987ee42786de25259c46393fe343 (diff)
Add IPv6 support to tcp_listener
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk> Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Diffstat (limited to 'src/tcp_connecter.cpp')
-rw-r--r--src/tcp_connecter.cpp21
1 files changed, 4 insertions, 17 deletions
diff --git a/src/tcp_connecter.cpp b/src/tcp_connecter.cpp
index b3cd563..7531445 100644
--- a/src/tcp_connecter.cpp
+++ b/src/tcp_connecter.cpp
@@ -199,23 +199,10 @@ int zmq::tcp_connecter_t::open ()
return -1;
#endif
- // Enable IPv4-mapping of addresses in case it is disabled by default.
-#ifdef IPV6_V6ONLY
- if (addr.ss_family == AF_INET6) {
-#ifdef ZMQ_HAVE_WINDOWS
- DWORD flag = 0;
-#else
- int flag = 0;
-#endif
- int rc = setsockopt (s, IPPROTO_IPV6, IPV6_V6ONLY,
- (const char*) &flag, sizeof (flag));
-#ifdef ZMQ_HAVE_WINDOWS
- wsa_assert (rc != SOCKET_ERROR);
-#else
- errno_assert (rc == 0);
-#endif
- }
-#endif
+ // On some systems, IPv4 mapping in IPv6 sockets is disabled by default.
+ // Switch it on in such cases.
+ if (addr.ss_family == AF_INET6)
+ enable_ipv4_mapping (s);
// Set the socket to non-blocking mode so that we get async connect().
unblock_socket (s);