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