]> granicus.if.org Git - apache/commitdiff
Default handler: Don't return output filter apr_status_t values.
authorJeff Trawick <trawick@apache.org>
Sun, 2 Apr 2006 23:36:27 +0000 (23:36 +0000)
committerJeff Trawick <trawick@apache.org>
Sun, 2 Apr 2006 23:36:27 +0000 (23:36 +0000)
PR: 31759
Helped by: Ruediger Pluem, Joe Orton

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

CHANGES
server/core.c

diff --git a/CHANGES b/CHANGES
index 378d7b68f29b814fded0d63a51819f8a2e982a27..5389147370de1d08bb5429321cbf9cebaa555dc0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
 Changes with Apache 2.3.0
   [Remove entries to the current 2.0 and 2.2 section below, when backported]
 
+  *) Default handler: Don't return output filter apr_status_t values.
+     PR 31759.  [Jeff Trawick, Ruediger Pluem, Joe Orton]
+
   *) Event MPM: Fill in the scoreboard's tid field. PR 38736.
      [Chris Darroch <chrisd pearsoncmg.com>]
 
index b3bd1b45b25700b1cb8c6d87fa21ad5769ab157d..ab577457b1f8c42542e4b5c486aff9625bf6af28 100644 (file)
@@ -3596,6 +3596,20 @@ static int default_handler(request_rec *r)
         APR_BRIGADE_INSERT_TAIL(bb, e);
 
         return ap_pass_brigade(r->output_filters, bb);
+        status = ap_pass_brigade(r->output_filters, bb);
+        if (status == APR_SUCCESS
+            || r->status != HTTP_OK
+            || c->aborted) {
+            return OK;
+        }
+        else {
+            /* no way to know what type of error occurred */
+            ap_log_rerror(APLOG_MARK, APLOG_DEBUG, status, r,
+                          "default_handler: ap_pass_brigade returned %i",
+                          status);
+            return HTTP_INTERNAL_SERVER_ERROR;
+        }
+
     }
     else {              /* unusual method (not GET or POST) */
         if (r->method_number == M_INVALID) {