Index: squid/src/http.c diff -c squid/src/http.c:1.384.2.26 squid/src/http.c:1.384.2.27 *** squid/src/http.c:1.384.2.26 Mon Jan 31 15:44:18 2005 --- squid/src/http.c Thu Feb 3 17:30:01 2005 *************** *** 725,730 **** --- 725,740 ---- if (!httpState->flags.keepalive) keep_alive = 0; /* + * If we haven't sent the whole request then this can not be a persistent + * connection. + */ + if (!httpState->flags.request_sent) { + debug(11, 1) ("httpReadReply: Request not yet fully sent \"%s %s\"\n", + RequestMethodStr[httpState->orig_request->method], + storeUrl(entry)); + keep_alive = 0; + } + /* * What does the reply have to say about keep-alive? */ if (!entry->mem_obj->reply->keep_alive) *************** *** 830,835 **** --- 840,846 ---- commSetTimeout(fd, Config.Timeout.read, httpTimeout, httpState); commSetDefer(fd, fwdCheckDeferRead, entry); } + httpState->flags.request_sent = 1; } /* Index: squid/src/structs.h diff -c squid/src/structs.h:1.408.2.35 squid/src/structs.h:1.408.2.36 *** squid/src/structs.h:1.408.2.35 Fri Jan 21 04:48:25 2005 --- squid/src/structs.h Thu Feb 3 17:30:01 2005 *************** *** 985,990 **** --- 985,991 ---- unsigned int only_if_cached:1; unsigned int keepalive_broken:1; unsigned int abuse_detected:1; + unsigned int request_sent:1; }; struct _HttpStateData {

AltStyle によって変換されたページ (->オリジナル) /