From 8b31569e09496a07a0a4b8bd4b5b68a3e07a1e13 Mon Sep 17 00:00:00 2001 From: Jeff Trawick Date: Thu, 20 Sep 2001 17:54:51 +0000 Subject: [PATCH] Currently, when the map-to-storage handler for TRACE returns DONE, the caller -- ap_process_request_internal() -- catches that and returns OK to its caller -- ap_process_request(). But ap_process_request(), seeing OK, tries to run a handler. It needs to skip that if the request was completed in ap_process_request_internal(). Reviewed by: William A. Rowe, Jr. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91095 13f79535-47bb-0310-9956-ffa450edef68 --- modules/http/http_request.c | 4 ++++ server/request.c | 5 +---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/http/http_request.c b/modules/http/http_request.c index 4dbbc788b2..e381da59d7 100644 --- a/modules/http/http_request.c +++ b/modules/http/http_request.c @@ -284,6 +284,10 @@ void ap_process_request(request_rec *r) access_status = ap_process_request_internal(r); if (access_status == OK) access_status = ap_invoke_handler(r); + else if (access_status == DONE) { + /* e.g., something not in storage like TRACE */ + access_status = OK; + } } if (access_status == OK) { diff --git a/server/request.c b/server/request.c index b2ab2d538f..8c467d90d7 100644 --- a/server/request.c +++ b/server/request.c @@ -162,10 +162,7 @@ AP_DECLARE(int) ap_process_request_internal(request_rec *r) if ((access_status = ap_run_map_to_storage(r))) { /* This request wasn't in storage (e.g. TRACE) */ - if (access_status == DONE) - return OK; - else - return access_status; + return access_status; } if ((access_status = ap_location_walk(r))) { -- 2.40.0