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

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@483613 13f79535-47bb-0310-9956-ffa450edef68

modules/arch/win32/mod_isapi.c

index 5d18f24e87260cf265e6ad116305aaf3cc23d14a..21a28947c5fb024d34140c6421905f393060ad2f 100644 (file)
@@ -930,6 +930,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:
@@ -1320,8 +1325,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 */