You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by pq...@apache.org on 2008/04/07 11:54:00 UTC
svn commit: r645434 - in /httpd/httpd/trunk/modules/http: http_core.c
http_protocol.c
Author: pquerna
Date: Mon Apr 7 02:53:58 2008
New Revision: 645434
URL: http://svn.apache.org/viewvc?rev=645434&view=rev
Log:
Remove calls to ap_graceful_stop_signalled, and replace by using ap_mpm_query
to determine if the MPM is trying to stop the process.
Modified:
httpd/httpd/trunk/modules/http/http_core.c
httpd/httpd/trunk/modules/http/http_protocol.c
Modified: httpd/httpd/trunk/modules/http/http_core.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http/http_core.c?rev=645434&r1=645433&r2=645434&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/http/http_core.c (original)
+++ httpd/httpd/trunk/modules/http/http_core.c Mon Apr 7 02:53:58 2008
@@ -221,8 +221,14 @@
ap_update_child_status(c->sbh, SERVER_BUSY_KEEPALIVE, NULL);
- if (ap_graceful_stop_signalled())
+ int mpm_state = 0;
+ if (ap_mpm_query(AP_MPMQ_MPM_STATE, &mpm_state)) {
break;
+ }
+
+ if (mpm_state == AP_MPMQ_STOPPING) {
+ break;
+ }
if (!csd) {
csd = ap_get_module_config(c->conn_config, &core_module);
Modified: httpd/httpd/trunk/modules/http/http_protocol.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http/http_protocol.c?rev=645434&r1=645433&r2=645434&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/http/http_protocol.c (original)
+++ httpd/httpd/trunk/modules/http/http_protocol.c Mon Apr 7 02:53:58 2008
@@ -158,6 +158,21 @@
*/
#define METHOD_NUMBER_LAST 62
+static int is_mpm_running()
+{
+ int mpm_state = 0;
+
+ if (ap_mpm_query(AP_MPMQ_MPM_STATE, &mpm_state)) {
+ return 0;
+ }
+
+ if (mpm_state == AP_MPMQ_STOPPING) {
+ return 0;
+ }
+
+ return 1;
+}
+
AP_DECLARE(int) ap_set_keepalive(request_rec *r)
{
@@ -215,7 +230,7 @@
|| apr_table_get(r->headers_in, "Via"))
&& ((ka_sent = ap_find_token(r->pool, conn, "keep-alive"))
|| (r->proto_num >= HTTP_VERSION(1,1)))
- && !ap_graceful_stop_signalled()) {
+ && is_mpm_running()) {
int left = r->server->keep_alive_max - r->connection->keepalives;
r->connection->keepalive = AP_CONN_KEEPALIVE;