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