]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
backport this from Apache 2.1-dev:
authorJeff Trawick <trawick@apache.org>
Sat, 1 Nov 2003 16:22:16 +0000 (16:22 +0000)
committerJeff Trawick <trawick@apache.org>
Sat, 1 Nov 2003 16:22:16 +0000 (16:22 +0000)
    Set the scoreboard state to indicate logging prior to running
    logging hooks so that server-status will show 'L' for hung loggers
    instead of 'W'.

Reviewed by:  stoddard, striker

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

CHANGES
STATUS
modules/http/http_request.c
server/protocol.c

diff --git a/CHANGES b/CHANGES
index 824d3c7cf572342b531f87703b0085c98816ae57..d2e2a17dadbea2443f2a7234c44c48b9ca0911a3 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,9 @@
 Changes with Apache 2.0.49
 
+  *) Set the scoreboard state to indicate logging prior to running 
+     logging hooks so that server-status will show 'L' for hung loggers
+     instead of 'W'.  [Jeff Trawick]
+
 Changes with Apache 2.0.48
   
   *) SECURITY [CAN-2003-0789]: mod_cgid: Resolve some mishandling of
diff --git a/STATUS b/STATUS
index 189124137a0debb82e1d8a6bb6b933f799ce163d..bd52cdaf9a54b246f02aeece6cef55f876a65740 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -1,5 +1,5 @@
 APACHE 2.0 STATUS:                                              -*-text-*-
-Last modified at [$Date: 2003/11/01 16:09:29 $]
+Last modified at [$Date: 2003/11/01 16:22:15 $]
 
 Release:
 
@@ -261,13 +261,6 @@ PATCHES TO BACKPORT FROM 2.1
         modules/generators/mod_info.c r1.151
       +1: trawick, striker, nd
 
-    * Set the scoreboard state to indicate logging prior to running
-      logging hooks so that server-status will show 'L' for hung
-      loggers instead of 'W'.
-        modules/http/http_request.c r1.159
-        server/protocol.c r1.138
-      +1: trawick, stoddard, striker
-
     * When UseCanonicalName is set to OFF, allow ap_get_server_port to 
       check r->connection->local_addr->port before defaulting to 
       server->port or ap_default_port()
index ae01c260dea16df0bb98e4429c845f39e643534d..32f3492cc0aa095132d0df5af2e0fd52c38e3a87 100644 (file)
@@ -86,6 +86,7 @@
 #include "util_charset.h"
 
 #include "mod_core.h"
+#include "scoreboard.h"
 
 #if APR_HAVE_STDARG_H
 #include <stdarg.h>
@@ -309,6 +310,7 @@ void ap_process_request(request_rec *r)
      * it's the application that's stalled.
      */
     check_pipeline_flush(r);
+    ap_update_child_status(r->connection->sbh, SERVER_BUSY_LOG, r);
     ap_run_log_transaction(r);
 }
 
index a4523103c5fa58f94123a635825e3f982e1e82d0..9cafc4b35ecfbb276a82f6c3d468ac6f6e798524 100644 (file)
@@ -90,6 +90,7 @@
 #include "mod_core.h"
 #include "util_charset.h"
 #include "util_ebcdic.h"
+#include "scoreboard.h"
 
 #if APR_HAVE_STDARG_H
 #include <stdarg.h>
@@ -903,6 +904,7 @@ request_rec *ap_read_request(conn_rec *conn)
             ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
                           "request failed: URI too long");
             ap_send_error_response(r, 0);
+            ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
             ap_run_log_transaction(r);
             apr_brigade_destroy(tmp_bb);
             return r;
@@ -918,6 +920,7 @@ request_rec *ap_read_request(conn_rec *conn)
             ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
                           "request failed: error reading the headers");
             ap_send_error_response(r, 0);
+            ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
             ap_run_log_transaction(r);
             apr_brigade_destroy(tmp_bb);
             return r;
@@ -936,6 +939,7 @@ request_rec *ap_read_request(conn_rec *conn)
             r->header_only = 0;
             r->status = HTTP_BAD_REQUEST;
             ap_send_error_response(r, 0);
+            ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
             ap_run_log_transaction(r);
             apr_brigade_destroy(tmp_bb);
             return r;
@@ -972,6 +976,7 @@ request_rec *ap_read_request(conn_rec *conn)
 
     if (r->status != HTTP_OK) {
         ap_send_error_response(r, 0);
+        ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
         ap_run_log_transaction(r);
         return r;
     }
@@ -993,6 +998,7 @@ request_rec *ap_read_request(conn_rec *conn)
                           "client sent an unrecognized expectation value of "
                           "Expect: %s", expect);
             ap_send_error_response(r, 0);
+            ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
             ap_run_log_transaction(r);
             return r;
         }
@@ -1003,6 +1009,7 @@ request_rec *ap_read_request(conn_rec *conn)
 
     if ((access_status = ap_run_post_read_request(r))) {
         ap_die(access_status, r);
+        ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r);
         ap_run_log_transaction(r);
         return NULL;
     }