]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Windows port: cachemgr.cgi should use closesocket not close
authorAmos Jeffries <squid3@treenet.co.nz>
Thu, 3 Jul 2008 05:07:35 +0000 (17:07 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Thu, 3 Jul 2008 05:07:35 +0000 (17:07 +1200)
This bug was apparently fixed in 2.6 but not in 3.0.
It only affects Windows builds.

This brings Squid-3 cachemgr.cgi up to full Windows support parity with
Squid-2

tools/cachemgr.cc

index 611176b1605308c085f1c4a9527eaa35f3778a7c..72c44ab332b0918bea3d944d0bc8fc54a7ab6261 100644 (file)
@@ -636,12 +636,11 @@ read_reply(int s, cachemgr_request * req)
 #ifdef _SQUID_MSWIN_
         perror(tmpfile);
         xfree(tmpfile);
+        closesocket(s);
 #else
-
         perror("fdopen");
-#endif
-
         close(s);
+#endif
         return 1;
     }
 
@@ -783,13 +782,13 @@ read_reply(int s, cachemgr_request * req)
         }
     }
 
-    fclose(fp);
 #ifdef _SQUID_MSWIN_
-
+    fclose(fp);
     remove(tmpfile);
     xfree(tmpfile);
+    closesocket(s);
+#else
     close(s);
-
 #endif
 
     return 0;
@@ -874,7 +873,11 @@ process_request(cachemgr_request * req)
                  req->hostname,
                  req->action,
                  make_auth_header(req));
+#ifdef _SQUID_MSWIN_
+    send(s, buf, l, 0);
+#else
     write(s, buf, l);
+#endif
     debug(1) fprintf(stderr, "wrote request: '%s'\n", buf);
     return read_reply(s, req);
 }