Index: squid/src/forward.c diff -c squid/src/forward.c:1.82.2.7 squid/src/forward.c:1.82.2.8 *** squid/src/forward.c:1.82.2.7 Tue Dec 9 14:51:32 2003 --- squid/src/forward.c Sat Dec 13 09:48:39 2003 *************** *** 391,398 **** ftimeout = 5; if (ftimeout < ctimeout) ctimeout = ftimeout; ! if (fwdCheckRetriable(fwdState)) { ! if ((fd = pconnPop(host, port)) >= 0) { debug(17, 3) ("fwdConnectStart: reusing pconn FD %d\n", fd); fwdState->server_fd = fd; fwdState->n_tries++; --- 391,398 ---- ftimeout = 5; if (ftimeout < ctimeout) ctimeout = ftimeout; ! if ((fd = pconnPop(host, port)) >= 0) { ! if (fwdCheckRetriable(fwdState)) { debug(17, 3) ("fwdConnectStart: reusing pconn FD %d\n", fd); fwdState->server_fd = fd; fwdState->n_tries++; *************** *** 401,406 **** --- 401,412 ---- comm_add_close_handler(fd, fwdServerClosed, fwdState); fwdConnectDone(fd, COMM_OK, fwdState); return; + } else { + /* Discard the persistent connection to not cause + * a imbalance in number of conenctions open if there + * is a lot of POST requests + */ + comm_close(fd); } } #if URL_CHECKSUM_DEBUG