Browse Source

Fixed socket close problem with VC 2015.

Hirose 9 years ago
parent
commit
d0759eb4eb
1 changed files with 3 additions and 7 deletions
  1. 3 7
      httplib.h

+ 3 - 7
httplib.h

@@ -173,10 +173,10 @@ inline bool read_and_close_socket(socket_t sock, T callback)
 {
 {
     FILE* fp_read;
     FILE* fp_read;
     FILE* fp_write;
     FILE* fp_write;
+
 #ifdef _MSC_VER
 #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
 #else
     fp_read = fdopen(sock, "rb");
     fp_read = fdopen(sock, "rb");
     fp_write = fdopen(sock, "wb");
     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);
     auto ret = callback(fp_read, fp_write);
 
 
-#ifdef _MSC_VER
-    sock = osfhandle;
-#else
     fclose(fp_read);
     fclose(fp_read);
     fclose(fp_write);
     fclose(fp_write);
-#endif
 
 
     return ret;
     return ret;
 }
 }