brian       97/02/02 17:36:46

  Modified:    support   Makefile httpd_monitor.c
  Log:
  Reviewed by:  Dean Gaudet <[EMAIL PROTECTED]>, Jim Jagielski <[EMAIL 
PROTECTED]>
  Submitted by: Paul Sutton <[EMAIL PROTECTED]>
  
  This is a repost of my patch to make httpd_monitor.c understand the
  current scoreboard format (if using a scoreboard file). It also cleans up
  the source a bit (removes unused defines, etc).
  
  Also, the Makefile in the support directory still has to be edited by hand
  to set the compiler name, cflags etc. Surely this can be automated by
  Configure? The same information that is pre-pended to Makefile.tmpl in src
  could be pre-pended to the Makefile in support.
  
  Revision  Changes    Path
  1.18      +8 -1      apache/support/Makefile
  
  Index: Makefile
  ===================================================================
  RCS file: /export/home/cvs/apache/support/Makefile,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -C3 -r1.17 -r1.18
  *** Makefile  1997/01/07 07:23:43     1.17
  --- Makefile  1997/02/03 01:36:45     1.18
  ***************
  *** 12,17 ****
  --- 12,24 ----
    # For OS/2 port
    #EXTRA_LIBS= -llibufc -lsocket
    
  + # If you turned on extra status logging with the -DSTATUS flag in the
  + # Configuration file, you _must_ uncomment the following line for
  + # httpd_monitor to work (remember that httpd_monitor only works if
  + # you are using a scoreboard file -- on most systems the scoreboard
  + # will be held in memory and httpd_monitor will not work)
  + STATUS=-DSTATUS
  + 
    INCLUDES= -I../src -I../src/regex
    
    RM= /bin/rm -f
  ***************
  *** 62,68 ****
        $(CC) $(CFLAGS) htdigest.c -o htdigest
    
    httpd_monitor: httpd_monitor.c
  !     $(CC) $(INCLUDES) $(CFLAGS) httpd_monitor.c -o httpd_monitor
    
    rotatelogs: rotatelogs.c
        $(CC) $(INCLUDES) $(CFLAGS) rotatelogs.c -o rotatelogs
  --- 69,75 ----
        $(CC) $(CFLAGS) htdigest.c -o htdigest
    
    httpd_monitor: httpd_monitor.c
  !     $(CC) $(INCLUDES) $(CFLAGS) $(STATUS) httpd_monitor.c -o httpd_monitor
    
    rotatelogs: rotatelogs.c
        $(CC) $(INCLUDES) $(CFLAGS) rotatelogs.c -o rotatelogs
  
  
  
  1.7       +20 -14    apache/support/httpd_monitor.c
  
  Index: httpd_monitor.c
  ===================================================================
  RCS file: /export/home/cvs/apache/support/httpd_monitor.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -C3 -r1.6 -r1.7
  *** httpd_monitor.c   1997/01/01 18:26:16     1.6
  --- httpd_monitor.c   1997/02/03 01:36:45     1.7
  ***************
  *** 51,67 ****
    
     * simple script to monitor the child Apache processes
     *   Usage:
  !  *      httpd_monitor -p pid_file -s sleep_time
  !  *                Will give you an update ever sleep_time seconds
  !  *                 using pid_file as the location of the PID file.
     *                If you choose 0, it might chew up lots of CPU time.
     *
     * Output explanation..
     *
  !  *  s = sleeping but "ready to go" child
  !  *  R = active child
  !  *  _ = dead child (no longer needed)
  !  *  t = just starting
     *
     *
     *  Jim Jagielski <[EMAIL PROTECTED]>
  --- 51,72 ----
    
     * simple script to monitor the child Apache processes
     *   Usage:
  !  *      httpd_monitor [ -d serverdir | -f conffile ] [ -s sleep_time ]
  !  *                -d/-f options specify server dir or config files, as per
  !  *                      httpd.
  !  *                -s specifies how long to pause between screen updates
     *                If you choose 0, it might chew up lots of CPU time.
     *
     * Output explanation..
     *
  !  *  s = sleeping but "ready to go" child (this is '_' in mod_status)
  !  *  R = active child - writing to client
  !  *  W = active child - reading from client
  !  *  K = active child - waiting for additional request on kept-alive 
connection
  !  *  D = active child - doing DNS lookup
  !  *  L = active child - logging
  !  *  _ = dead child (no longer needed) (this is '.' in mod_status)
  !  *  t = just starting (this is 'S' in mod_status)
     *
     *
     *  Jim Jagielski <[EMAIL PROTECTED]>
  ***************
  *** 71,76 ****
  --- 76,84 ----
     *
     *   v1.1:
     *    Minor fixes
  +  *
  +  *   v1.2:
  +  *    Handles Apache 1.1.* scoreboard format (W/K/D/L states) -- PCS 09Jul96
     */
    
    #include <stdio.h>
  ***************
  *** 80,90 ****
    #include "../src/httpd.h"
    #include "../src/scoreboard.h"
    
  - #define PIDFILE_OPT         "PidFile"
  - #define     SCORE_OPT               "ScoreBoardFile"
    #define DEFAULT_SLEEPTIME   2
    #define ASIZE                       1024
  ! #define MAX_PROC            40
    
    int
    main(argc, argv)
  --- 88,96 ----
    #include "../src/httpd.h"
    #include "../src/scoreboard.h"
    
    #define DEFAULT_SLEEPTIME   2
    #define ASIZE                       1024
  ! #define MAX_PROC            HARD_SERVER_LIMIT
    
    int
    main(argc, argv)
  ***************
  *** 98,105 ****
        char score_name[ASIZE];
        char tbuf[ASIZE];
        char *ptmp;
  !     static char kid_stat[] = { '_', 's', 'R', 't' };
  !     char achar;
        long thepid;
        int score_fd;
        int sleep_time = DEFAULT_SLEEPTIME;
  --- 104,111 ----
        char score_name[ASIZE];
        char tbuf[ASIZE];
        char *ptmp;
  !     static char kid_stat[] = { '_', 's', 'R', 't', 'W', 'K', 'L', 'D' };
  !     int achar;
        long thepid;
        int score_fd;
        int sleep_time = DEFAULT_SLEEPTIME;
  ***************
  *** 199,205 ****
            achar = kid_stat[(int)scoreboard_image.status];
            if (scoreboard_image.pid != 0 && scoreboard_image.pid != thepid) {
                total++;
  !             if (achar == 'R')
                    running++;
                *ptmp = achar;
                *++ptmp = '\0';
  --- 205,212 ----
            achar = kid_stat[(int)scoreboard_image.status];
            if (scoreboard_image.pid != 0 && scoreboard_image.pid != thepid) {
                total++;
  !             if (scoreboard_image.status != SERVER_DEAD &&
  !                 scoreboard_image.status != SERVER_READY)
                    running++;
                *ptmp = achar;
                *++ptmp = '\0';
  ***************
  *** 266,272 ****
         * ServerRoot line... if not, we bail out
         */
        if (!*sroot) {
  -     perror("httpd_monitor");
        fprintf(stderr, "Can't find ServerRoot!\n");
        exit(1);
        }
  --- 273,278 ----
  
  
  

Reply via email to