You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by br...@apache.org on 2002/04/12 06:24:45 UTC

cvs commit: httpd-2.0/server/mpm/experimental/leader Makefile.in leader.c mpm.h

brianp      02/04/11 21:24:45

  Modified:    server/mpm/experimental/leader Makefile.in leader.c mpm.h
  Log:
  switch back to the worker's version of the pod code
  
  Revision  Changes    Path
  1.2       +1 -1      httpd-2.0/server/mpm/experimental/leader/Makefile.in
  
  Index: Makefile.in
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/server/mpm/experimental/leader/Makefile.in,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Makefile.in	12 Apr 2002 03:06:48 -0000	1.1
  +++ Makefile.in	12 Apr 2002 04:24:44 -0000	1.2
  @@ -1,5 +1,5 @@
   
   LTLIBRARY_NAME    = libleader.la
  -LTLIBRARY_SOURCES = leader.c
  +LTLIBRARY_SOURCES = leader.c pod.c
   
   include $(top_srcdir)/build/ltlib.mk
  
  
  
  1.3       +16 -25    httpd-2.0/server/mpm/experimental/leader/leader.c
  
  Index: leader.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/server/mpm/experimental/leader/leader.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- leader.c	12 Apr 2002 03:07:53 -0000	1.2
  +++ leader.c	12 Apr 2002 04:24:44 -0000	1.3
  @@ -103,6 +103,7 @@
   #include "http_connection.h"
   #include "ap_mpm.h"
   #include "mpm_common.h"
  +#include "pod.h"
   #include "ap_listen.h"
   #include "scoreboard.h" 
   #include "mpm_default.h"
  @@ -337,7 +338,6 @@
   static worker_stack *idle_worker_stack;
   
   #define ST_INIT              0
  -#define ST_RESTART           0
   #define ST_GRACEFUL          1
   #define ST_UNGRACEFUL        2
   
  @@ -1171,33 +1171,24 @@
                   /* see if termination was triggered while we slept */
                   switch(terminate_mode) {
                   case ST_GRACEFUL:
  -                    rv = ST_GRACEFUL;
  +                    rv = AP_GRACEFUL;
                       break;
                   case ST_UNGRACEFUL:
  -                    rv = ST_RESTART;
  +                    rv = AP_RESTART;
                       break;
                   }
               }
  -            if (rv == ST_GRACEFUL || rv == ST_RESTART) {
  -                /* make sure the start thread has finished; 
  -                 * signal_threads() and join_workers depend on that
  -                 */
  -                join_start_thread(start_thread_id);
  -                signal_threads(rv == ST_GRACEFUL ? ST_GRACEFUL : ST_UNGRACEFUL);
  -                break;
  -            }
           }
   
  -        if (rv == ST_GRACEFUL) {
  -            /* A terminating signal was received. Now join each of the
  -             * workers to clean them up.
  -             *   If the worker already exited, then the join frees
  -             *   their resources and returns.
  -             *   If the worker hasn't exited, then this blocks until
  -             *   they have (then cleans up).
  -             */
  -            join_workers(threads);
  -        }
  +        signal_threads(ST_GRACEFUL);
  +        /* A terminating signal was received. Now join each of the
  +         * workers to clean them up.
  +         *   If the worker already exited, then the join frees
  +         *   their resources and returns.
  +         *   If the worker hasn't exited, then this blocks until
  +         *   they have (then cleans up).
  +         */
  +        join_workers(threads);
       }
   
       free(threads);
  @@ -1379,7 +1370,7 @@
   
       if (idle_thread_count > max_spare_threads) {
           /* Kill off one child */
  -        ap_mpm_pod_signal(pod);
  +        ap_mpm_pod_signal(pod, TRUE);
           idle_spawn_rate = 1;
       }
       else if (idle_thread_count < min_spare_threads) {
  @@ -1609,7 +1600,7 @@
            * (By "gracefully" we don't mean graceful in the same sense as 
            * "apachectl graceful" where we allow old connections to finish.)
            */
  -        ap_mpm_pod_killpg(pod, ap_daemons_limit);
  +        ap_mpm_pod_killpg(pod, ap_daemons_limit, FALSE);
           ap_reclaim_child_processes(1);                /* Start with SIGTERM */
   
           if (!child_fatal) {
  @@ -1647,7 +1638,7 @@
           ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, 0, ap_server_conf,
                        AP_SIG_GRACEFUL_STRING " received.  Doing graceful restart");
           /* wake up the children...time to die.  But we'll have more soon */
  -        ap_mpm_pod_killpg(pod, ap_daemons_limit);
  +        ap_mpm_pod_killpg(pod, ap_daemons_limit, TRUE);
       
   
           /* This is mostly for debugging... so that we know what is still
  @@ -1660,7 +1651,7 @@
            * and a SIGHUP, we may as well use the same signal, because some user
            * pthreads are stealing signals from us left and right.
            */
  -        ap_mpm_pod_killpg(pod, ap_daemons_limit);
  +        ap_mpm_pod_killpg(pod, ap_daemons_limit, FALSE);
   
           ap_reclaim_child_processes(1);                /* Start with SIGTERM */
           ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, 0, ap_server_conf,
  
  
  
  1.3       +0 -1      httpd-2.0/server/mpm/experimental/leader/mpm.h
  
  Index: mpm.h
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/server/mpm/experimental/leader/mpm.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- mpm.h	12 Apr 2002 03:07:53 -0000	1.2
  +++ mpm.h	12 Apr 2002 04:24:44 -0000	1.3
  @@ -76,7 +76,6 @@
   #define AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
   #define AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK
   
  -#define AP_MPM_USES_POD 1
   #define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid)
   #define MPM_NOTE_CHILD_KILLED(i) (MPM_CHILD_PID(i) = 0)
   #define MPM_ACCEPT_FUNC unixd_accept