From 6d74fa86be1eafddcf144b8fef72102079253b7d Mon Sep 17 00:00:00 2001 From: yhirose Date: Thu, 20 Jun 2019 17:11:44 -0400 Subject: [PATCH] Fix #164 --- httplib.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/httplib.h b/httplib.h index 99ce401..fd08e73 100644 --- a/httplib.h +++ b/httplib.h @@ -639,9 +639,17 @@ socket_t create_socket(const char *host, int port, Fn fn, for (auto rp = result; rp; rp = rp->ai_next) { // Create a socket +#ifdef _WIN32 + auto sock = WSASocket(rp->ai_family, rp->ai_socktype, rp->ai_protocol, nullptr, 0, WSA_FLAG_NO_HANDLE_INHERIT); +#else auto sock = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); +#endif if (sock == INVALID_SOCKET) { continue; } +#ifndef _WIN32 + if (fcntl(sock, F_SETFD, FD_CLOEXEC) == -1) { continue; } +#endif + // Make 'reuse address' option available int yes = 1; setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&yes, sizeof(yes));