You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@apache.org on 2003/10/22 18:45:53 UTC
cvs commit: httpd-2.0/server protocol.c
trawick 2003/10/22 09:45:53
Modified: . CHANGES
modules/http http_request.c
server protocol.c
Log:
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'.
Revision Changes Path
1.1296 +4 -0 httpd-2.0/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/httpd-2.0/CHANGES,v
retrieving revision 1.1295
retrieving revision 1.1296
diff -u -r1.1295 -r1.1296
--- CHANGES 15 Oct 2003 23:21:46 -0000 1.1295
+++ CHANGES 22 Oct 2003 16:45:53 -0000 1.1296
@@ -2,6 +2,10 @@
[Remove entries to the current 2.0 section below, when backported]
+ *) 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]
+
*) mod_include: fix segfault which occured if the filename was not
set, for example, when processing some error conditions.
PR 23836. [Brian Akins <ba...@web.turner.com>, Andr� Malo]
1.159 +2 -0 httpd-2.0/modules/http/http_request.c
Index: http_request.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/http/http_request.c,v
retrieving revision 1.158
retrieving revision 1.159
diff -u -r1.158 -r1.159
--- http_request.c 29 May 2003 23:04:31 -0000 1.158
+++ http_request.c 22 Oct 2003 16:45:53 -0000 1.159
@@ -84,6 +84,7 @@
#include "http_main.h"
#include "util_filter.h"
#include "util_charset.h"
+#include "scoreboard.h"
#include "mod_core.h"
@@ -309,6 +310,7 @@
* 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);
}
1.138 +7 -0 httpd-2.0/server/protocol.c
Index: protocol.c
===================================================================
RCS file: /home/cvs/httpd-2.0/server/protocol.c,v
retrieving revision 1.137
retrieving revision 1.138
diff -u -r1.137 -r1.138
--- protocol.c 13 Oct 2003 23:43:00 -0000 1.137
+++ protocol.c 22 Oct 2003 16:45:53 -0000 1.138
@@ -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>
@@ -901,6 +902,7 @@
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;
@@ -916,6 +918,7 @@
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;
@@ -934,6 +937,7 @@
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;
@@ -970,12 +974,14 @@
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;
}
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;
}
@@ -997,6 +1003,7 @@
"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;
}