]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Revert a regression introduced in the recent overhauls of mod_isapi.
authorWilliam A. Rowe Jr <wrowe@apache.org>
Thu, 7 Dec 2006 19:19:41 +0000 (19:19 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Thu, 7 Dec 2006 19:19:41 +0000 (19:19 +0000)
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

modules/arch/win32/mod_isapi.c

index 9100318a00fb775a4114bd16abdeabd22f890c12..3c799ead401ac8c1fca0bced17bef4307c2b2255 100644 (file)
@@ -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 */