]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Currently, when the map-to-storage handler for TRACE returns DONE, the
authorJeff Trawick <trawick@apache.org>
Thu, 20 Sep 2001 17:54:51 +0000 (17:54 +0000)
committerJeff Trawick <trawick@apache.org>
Thu, 20 Sep 2001 17:54:51 +0000 (17:54 +0000)
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
server/request.c

index 4dbbc788b224c5c2a6bb3b1c13199dd11b522585..e381da59d78297a7c3298801ec90bc204fe6edbd 100644 (file)
@@ -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) {
index b2ab2d538f114c22beccbe6dd0ba6468e9e70c00..8c467d90d74a8fa71196003dad67315e9fcf042c 100644 (file)
@@ -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))) {