From eb89d4733ff8db8b0ac0bb2589a0c9dd38795df3 Mon Sep 17 00:00:00 2001 From: Jeff Trawick Date: Sun, 2 Apr 2006 23:36:27 +0000 Subject: [PATCH] Default handler: Don't return output filter apr_status_t values. 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 | 3 +++ server/core.c | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/CHANGES b/CHANGES index 378d7b68f2..5389147370 100644 --- 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 ] diff --git a/server/core.c b/server/core.c index b3bd1b45b2..ab577457b1 100644 --- a/server/core.c +++ b/server/core.c @@ -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) { -- 2.40.0