Hi Henrik,

we had troubles with your Streaming ICAP Client Support patch, when the ICAP connection was rejected it leaked a socket per request. After some debugging I found calling comm_close in icapReqmodPreCacheSendRequest
for socket with status != COMM_OK cured the problem, but I know too
little about squid internals to decide if the fix is correct. It would
be nice if you could have a look at it. In case the fix is correct, a
comm_close might also be required in icapRespModPreCacheSendRequest.


Best regards,
Patrick
--- squid-2.5.STABLE4/src/icap.c.orig   Fri Dec 19 10:58:26 2003
+++ squid-2.5.STABLE4/src/icap.c        Fri Dec 19 10:58:35 2003
@@ -789,6 +789,7 @@
     IcapService *service = reqIcapService(state->request, 
ICAP_SERVICE_REQMOD_PRECACHE);
 
     if (status != COMM_OK) {
+       comm_close(fd);
        icapReqmodPreCacheFailed(state);
        return;
     }

Reply via email to