You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by Jim Jagielski <ji...@hyperreal.com> on 1996/09/06 20:36:11 UTC

cvs commit: apache/src http_main.c

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 ----