jim         96/09/06 11:36:11

  Modified:    src       http_main.c
  Log:
  Description: Make sure that the scoreboard array and file are synced
               as needed.
  
  Revision  Changes    Path
  1.64      +7 -4      apache/src/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_main.c,v
  retrieving revision 1.63
  retrieving revision 1.64
  diff -C3 -r1.63 -r1.64
  *** http_main.c       1996/08/23 18:19:11     1.63
  --- http_main.c       1996/09/06 18:36:08     1.64
  ***************
  *** 50,56 ****
     *
     */
    
  ! /* $Id: http_main.c,v 1.63 1996/08/23 18:19:11 jim Exp $ */
    
    /*
     * httpd.c: simple http daemon for answering WWW file requests
  --- 50,56 ----
     *
     */
    
  ! /* $Id: http_main.c,v 1.64 1996/09/06 18:36:08 jim Exp $ */
    
    /*
     * httpd.c: simple http daemon for answering WWW file requests
  ***************
  *** 753,763 ****
    int update_child_status (int child_num, int status, request_rec *r)
    {
        int old_status;
  !     short_score new_score_rec=scoreboard_image->servers[child_num];
    
        if (child_num < 0)
        return -1;
        
        new_score_rec.pid = getpid();
        old_status = new_score_rec.status;
        new_score_rec.status = status;
  --- 753,765 ----
    int update_child_status (int child_num, int status, request_rec *r)
    {
        int old_status;
  !     short_score new_score_rec;
    
        if (child_num < 0)
        return -1;
        
  +     sync_scoreboard_image();
  +     new_score_rec = scoreboard_image->servers[child_num];
        new_score_rec.pid = getpid();
        old_status = new_score_rec.status;
        new_score_rec.status = status;
  ***************
  *** 852,859 ****
    {
        long int bs=0;
        time_t now;
  !     short_score new_score_rec=scoreboard_image->servers[child_num];
    
        if (r->sent_bodyct)
            bgetopt(r->connection->client, BO_BYTECT, &bs);
    
  --- 854,863 ----
    {
        long int bs=0;
        time_t now;
  !     short_score new_score_rec;
    
  +     sync_scoreboard_image();
  +     new_score_rec = scoreboard_image->servers[child_num];
        if (r->sent_bodyct)
            bgetopt(r->connection->client, BO_BYTECT, &bs);
    
  ***************
  *** 959,965 ****
           && waitpid(scoreboard_image->servers[n].pid,&status,WNOHANG) == -1
           && errno == ECHILD)
            {
  -         sync_scoreboard_image();
            update_child_status(n,SERVER_DEAD,NULL);
            }
        }
  --- 963,968 ----
  
  
  

Reply via email to