You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Jeff Trawick <tr...@gmail.com> on 2007/11/14 19:05:55 UTC

[1.3 PATCH] another fix for "Bad pid ... in scoreboard ..." message

The last fix had a simple mistake: Good logic was inadvertently
trapped inside "if (ap_extended_status)", so a bunch of "Bad pid"
messages could show up at termination for folks with the default (off)
setting for ExtendedStatus.

Proposed fix:

Index: src/main/http_main.c
===================================================================
--- src/main/http_main.c	(revision 594940)
+++ src/main/http_main.c	(working copy)
@@ -2661,7 +2661,6 @@
 	    if (status == SERVER_DEAD) {
 		ss->my_access_count = 0L;
 		ss->my_bytes_served = 0L;
-                ap_scoreboard_image->parent[child_num].pid = 0;
 	    }
 	    ss->conn_count = (unsigned short) 0;
 	    ss->conn_bytes = (unsigned long) 0;
@@ -2689,7 +2688,10 @@
 	    ss->vhostrec =  r->server;
 	}
     }
-    if (status == SERVER_STARTING && r == NULL) {
+    if (status == SERVER_DEAD) {
+        ap_scoreboard_image->parent[child_num].pid = 0;
+    }
+    else if (status == SERVER_STARTING && r == NULL) {
 	/* clean up the slot's vhostrec pointer (maybe re-used)
 	 * and mark the slot as belonging to a new generation.
 	 */