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.
*/