You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Ruediger Pluem <rp...@apache.org> on 2007/06/02 01:12:25 UTC
Re: svn commit: r543583 - in /httpd/httpd/branches/httpd-pid-table:
./ include/ server/ server/mpm/beos/ server/mpm/experimental/event/ server/mpm/experimental/leader/
server/mpm/experimental/perchild/ server/mpm/experimental/threadpool/ server/mpm/netware...
On 06/01/2007 09:28 PM, jim@apache.org wrote:
> Author: jim
> Date: Fri Jun 1 12:28:31 2007
> New Revision: 543583
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=543583
> Log:
> Create work-in-progress branch
>
>
> Modified: httpd/httpd/branches/httpd-pid-table/server/mpm/experimental/event/event.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/branches/httpd-pid-table/server/mpm/experimental/event/event.c?view=diff&rev=543583&r1=543523&r2=543583
> ==============================================================================
> --- httpd/httpd/branches/httpd-pid-table/server/mpm/experimental/event/event.c (original)
> +++ httpd/httpd/branches/httpd-pid-table/server/mpm/experimental/event/event.c Fri Jun 1 12:28:31 2007
> @@ -1643,6 +1643,7 @@
> /* else */
> ap_scoreboard_image->parent[slot].quiescing = 0;
> ap_scoreboard_image->parent[slot].pid = pid;
> + ap_set_pid_table(pid);
> return 0;
> }
>
> @@ -2062,10 +2063,13 @@
> active_children = 0;
> for (index = 0; index < ap_daemons_limit; ++index) {
> if (MPM_CHILD_PID(index) != 0) {
> - if (kill(MPM_CHILD_PID(index), 0) == 0) {
> + if (ap_in_pid_table(MPM_CHILD_PID(index))) {
> + if (kill(MPM_CHILD_PID(index), 0) == 0) {
> active_children = 1;
> + ap_unset_pid_table(MPM_CHILD_PID(index));
Isn't this wrong? We do not kill the child here. We only know that we could (because we used 0 as signal).
> /* Having just one child is enough to stay around */
> break;
> + }
Maybe we should do an unset here because kill( ,0) failed?
> }
> }
> }
>
Regards
RĂ¼diger