jim         98/08/06 10:42:52

  Modified:    src      CHANGES
               src/modules/standard mod_status.c
  Log:
  Hmmm... we have access to the subprocesses pids,
  let's use them. Now we can tell which process is in which state even
  without full STATUS
  
  Revision  Changes    Path
  1.1005    +3 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1004
  retrieving revision 1.1005
  diff -u -r1.1004 -r1.1005
  --- CHANGES   1998/08/06 17:30:18     1.1004
  +++ CHANGES   1998/08/06 17:42:49     1.1005
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.2
   
  +  *) The 'status' module will now show the process pid's and their
  +     state even without full STATUS accounting. [Jim Jagielski]
  +
     *) Restore the client IP address to the error log messages, this
        was lost during the transition from 1.2 to 1.3.  Add a new
        function ap_log_rerror() which takes a request_rec * and
  
  
  
  1.92      +11 -0     apache-1.3/src/modules/standard/mod_status.c
  
  Index: mod_status.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_status.c,v
  retrieving revision 1.91
  retrieving revision 1.92
  diff -u -r1.91 -r1.92
  --- mod_status.c      1998/08/06 17:31:14     1.91
  +++ mod_status.c      1998/08/06 17:42:51     1.92
  @@ -241,6 +241,7 @@
       short_score score_record;
       parent_score ps_record;
       char stat_buffer[HARD_SERVER_LIMIT];
  +    int pid_buffer[HARD_SERVER_LIMIT];
       clock_t tu, ts, tcu, tcs;
   
       tu = ts = tcu = tcs = 0;
  @@ -296,6 +297,7 @@
        ps_record = ap_scoreboard_image->parent[i];
        res = score_record.status;
        stat_buffer[i] = status_flags[res];
  +     pid_buffer[i] = (int) ps_record.pid;
        if (res == SERVER_READY)
            ready++;
        else if (res != SERVER_DEAD)
  @@ -428,6 +430,15 @@
        ap_rputs("\"<B><code>L</code></B>\" Logging, \n", r);
        ap_rputs("\"<B><code>G</code></B>\" Gracefully finishing, \n", r);
        ap_rputs("\"<B><code>.</code></B>\" Open slot with no current 
process<P>\n", r);
  +     ap_rputs("<P>\n", r);
  +     ap_rputs("PID Key: <br>\n", r);
  +     ap_rputs("<UL>\n", r);
  +     for (i = 0; i < HARD_SERVER_LIMIT; ++i) {
  +         if (stat_buffer[i] != '.')
  +             ap_rprintf(r, "<LI>%d in state: %c <BR>\n", pid_buffer[i],
  +              stat_buffer[i]);
  +     }
  +     ap_rputs("</UL>\n", r);
       }
   
   #if defined(STATUS)
  
  
  

Reply via email to