rbb         99/02/14 19:12:02

  Modified:    pthreads/src/main http_main.c
  Log:
  This change should solve the problem of spawning new child server's at the
  first opportunity.  I have tested it as much as I can tonight, but I will try 
to break it again tomorrow morning when I have more computers at my disposal.
  
  Revision  Changes    Path
  1.20      +7 -5      apache-apr/pthreads/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/main/http_main.c,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- http_main.c       1999/02/12 20:36:59     1.19
  +++ http_main.c       1999/02/15 03:12:01     1.20
  @@ -2490,20 +2490,22 @@
                }
            }
        }
  -     if (idle_thread_count <= ap_idle_thread_threshold) {
  +     if (idle_thread_count > ap_idle_thread_threshold) {
            idle_count++;
            to_kill = i;
        }
  -     ++total_non_dead;
  -     last_non_dead = i;
  +        if (status != SERVER_DEAD) {
  +            ++total_non_dead;
  +            last_non_dead = i;
  +        }
       }
       max_daemons_limit = last_non_dead + 1;
       if (idle_count > ap_daemons_max_free) {
  -        /* kill off one child... we use SIGHUP because that'll cause it to
  +        /* kill off one child... we use SIGWINCH because that'll cause it to
         * shut down gracefully, in case it happened to pick up a request
         * while we were counting
         */
  -        kill(ap_scoreboard_image->parent[to_kill].pid, SIGHUP);
  +        kill(ap_scoreboard_image->parent[to_kill].pid, SIGWINCH);
           idle_spawn_rate = 1;
       }
       else if (idle_count < ap_daemons_min_free) {
  
  
  

Reply via email to