Index: server/protocol.c =================================================================== --- server/protocol.c (revision 194460) +++ server/protocol.c (working copy) @@ -906,6 +906,7 @@ * ignored"; so unset it here to prevent any confusion * later. */ apr_table_unset(r->headers_in, "Content-Length"); + conn->keepalive = AP_CONN_CLOSE; } } else { Index: modules/http/http_core.c =================================================================== --- modules/http/http_core.c (revision 194460) +++ modules/http/http_core.c (working copy) @@ -116,9 +116,9 @@ while (cs->state == CONN_STATE_READ_REQUEST_LINE) { ap_update_child_status(c->sbh, SERVER_BUSY_READ, NULL); + c->keepalive = AP_CONN_UNKNOWN; if ((r = ap_read_request(c))) { - c->keepalive = AP_CONN_UNKNOWN; /* process the request if it was read without error */ ap_update_child_status(c->sbh, SERVER_BUSY_WRITE, r); @@ -162,9 +162,9 @@ */ ap_update_child_status(c->sbh, SERVER_BUSY_READ, NULL); + c->keepalive = AP_CONN_UNKNOWN; while ((r = ap_read_request(c)) != NULL) { - c->keepalive = AP_CONN_UNKNOWN; /* process the request if it was read without error */ ap_update_child_status(c->sbh, SERVER_BUSY_WRITE, r);