You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@hyperreal.org on 1998/08/06 19:42:53 UTC

cvs commit: apache-1.3/src/modules/standard mod_status.c

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)