From: William A. Rowe Jr Date: Thu, 7 Dec 2006 19:19:41 +0000 (+0000) Subject: Revert a regression introduced in the recent overhauls of mod_isapi. X-Git-Tag: 2.0.60~61 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=95473fed065ea265a161724c70900e5617bcbbd8;p=thirdparty%2Fapache%2Fhttpd.git Revert a regression introduced in the recent overhauls of mod_isapi. PR 40470 points out that we no longer handle ate == headlen, where there is a headers-only response from the isapi app to the server. This patch restores the previous behavior of pending those headers until some amount of body response is ready to be sent to the client. Backports: 483613 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x@483615 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/arch/win32/mod_isapi.c b/modules/arch/win32/mod_isapi.c index 9100318a00f..3c799ead401 100644 --- a/modules/arch/win32/mod_isapi.c +++ b/modules/arch/win32/mod_isapi.c @@ -964,6 +964,11 @@ int APR_THREAD_FUNC ServerSupportFunction(isapi_cid *cid, cid->response_sent = 1; return (rv == APR_SUCCESS); } + /* Deliberately hold off sending 'just the headers' to begin to + * accumulate the body and speed up the overall response, or at + * least wait for the end the session. + */ + return 1; } case HSE_REQ_DONE_WITH_SESSION: @@ -1354,8 +1359,13 @@ int APR_THREAD_FUNC ServerSupportFunction(isapi_cid *cid, APR_BRIGADE_INSERT_TAIL(bb, b); rv = ap_pass_brigade(cid->r->output_filters, bb); cid->response_sent = 1; + return (rv == APR_SUCCESS); } - return (rv == APR_SUCCESS); + /* Deliberately hold off sending 'just the headers' to begin to + * accumulate the body and speed up the overall response, or at + * least wait for the end the session. + */ + return 1; } case HSE_REQ_CLOSE_CONNECTION: /* Added after ISAPI 4.0 */