From d0759eb4ebadfe5fe51a57f9dfc7c125ac3e8430 Mon Sep 17 00:00:00 2001 From: Hirose Date: Tue, 6 Sep 2016 18:35:03 -0400 Subject: [PATCH] Fixed socket close problem with VC 2015. --- httplib.h | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/httplib.h b/httplib.h index a07511d..483e1a7 100644 --- a/httplib.h +++ b/httplib.h @@ -173,10 +173,10 @@ inline bool read_and_close_socket(socket_t sock, T callback) { FILE* fp_read; FILE* fp_write; + #ifdef _MSC_VER - int osfhandle = _open_osfhandle(sock, _O_RDONLY); - fp_read = _fdopen(osfhandle, "rb"); - fp_write = _fdopen(osfhandle, "wb"); + fp_read = _fdopen(_open_osfhandle(sock, _O_RDONLY), "rb"); + fp_write = _fdopen(_open_osfhandle(sock, _O_WRONLY), "wb"); #else fp_read = fdopen(sock, "rb"); fp_write = fdopen(sock, "wb"); @@ -184,12 +184,8 @@ inline bool read_and_close_socket(socket_t sock, T callback) auto ret = callback(fp_read, fp_write); -#ifdef _MSC_VER - sock = osfhandle; -#else fclose(fp_read); fclose(fp_write); -#endif return ret; }