]> granicus.if.org Git - apache/commit
garbage C's in server-status and extra child processes with async lingering
authorGreg Ames <gregames@apache.org>
Fri, 18 Nov 2011 15:54:18 +0000 (15:54 +0000)
committerGreg Ames <gregames@apache.org>
Fri, 18 Nov 2011 15:54:18 +0000 (15:54 +0000)
commite677824cfa104dd89f332318d4d22d52c588e933
treea8bedff6b9b29fea1dfd17b03b612e9764d735d8
parent2ae75ae498d439552f5fc4909e88913178b98743
garbage C's in server-status and extra child processes with async lingering
close support in Event.  these are set by the listener due to a residual
c->sbh for a worker thread no longer associated with the connection.

the associated worker threads are really idle and blocked in
ap_queue_pop_something and will serve new work normally.  but since they
are marked as SERVER_CLOSING rather than SERVER_READY in the scoreboard,
the parent process thinks they are busy and forks extra children.

reproduction recipe: start Event with server-status enabled.  hit
localhost/server-status?refresh=5 and watch the C's trail behind the lone W.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1203708 13f79535-47bb-0310-9956-ffa450edef68
server/connection.c
server/mpm/event/event.c