0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-14 01:37:56 +08:00

is_ipv6_available: Create a fake zmq context on windows

This is required as zmq_ctx_new calls WSAStartup. Without that the IPV6
socket creation always fails.
This commit is contained in:
Thomas Braun 2016-08-23 21:52:16 +02:00
parent c9bc939705
commit 9adf20aaeb

View File

@ -339,6 +339,10 @@ is_ipv6_available(void)
inet_pton (AF_INET6, "::1", &(test_addr.sin6_addr));
#ifdef ZMQ_HAVE_WINDOWS
// initialize network stack
void *ctx = zmq_ctx_new();
assert(ctx);
SOCKET fd = socket (AF_INET6, SOCK_STREAM, IPPROTO_IP);
if (fd == INVALID_SOCKET)
ipv6 = 0;
@ -354,6 +358,9 @@ is_ipv6_available(void)
}
closesocket (fd);
}
rc = zmq_ctx_term(ctx);
assert(rc == 0);
#else
int fd = socket (AF_INET6, SOCK_STREAM, IPPROTO_IP);
if (fd == -1)