www-apache-bugdb mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <dgau...@arctic.org>
Subject Re: os-solaris/1190: server processes in keepalive state do not die after keepalive-timeout
Date Thu, 18 Jun 1998 06:30:01 GMT
The following reply was made to PR os-solaris/1190; it has been noted by GNATS.

From: Dean Gaudet <dgaudet@arctic.org>
To: Eugene Crosser <crosser@online.ru>
Cc: apbugs@apache.org
Subject: Re: os-solaris/1190: server processes in keepalive state do not die after keepalive-timeout
Date: Wed, 17 Jun 1998 23:36:49 -0700 (PDT)

 Maybe you could try this patch.  It looks like there's a small race
 condition with keepalive timeouts... but I don't understand why we don't
 see it more frequently.
 
 BTW, please set "LogLevel debug" in your httpd.conf and tell me if you get
 any of those "possible nested timer" warnings. 
 
 Thanks
 Dean
 
 Index: main/http_main.c
 ===================================================================
 RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
 retrieving revision 1.365
 diff -u -r1.365 http_main.c
 --- http_main.c	1998/06/16 03:37:27	1.365
 +++ http_main.c	1998/06/18 06:18:53
 @@ -975,6 +975,7 @@
      }
      else {			/* abort the connection */
  	ap_bsetflag(current_conn->client, B_EOUT, 1);
 +	ap_bclose(current_conn->client);
  	current_conn->aborted = 1;
      }
  }
 @@ -1045,9 +1046,11 @@
  	alarm_expiry_time = time(NULL) + x;
      }
  #else
 -    if (x) {
 -	alarm_fn = fn;
 +    if (alarm_fn && x && fn != alarm_fn) {
 +	ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_DEBUG, NULL,
 +	    "ap_set_callback_and_alarm: possible nested timer!");
      }
 +    alarm_fn = fn;
  #ifndef OPTIMIZE_TIMEOUTS
      old = alarm(x);
  #else
 Index: main/rfc1413.c
 ===================================================================
 RCS file: /export/home/cvs/apache-1.3/src/main/rfc1413.c,v
 retrieving revision 1.24
 diff -u -r1.24 rfc1413.c
 --- rfc1413.c	1998/05/18 21:56:11	1.24
 +++ rfc1413.c	1998/06/18 06:18:53
 @@ -229,9 +229,8 @@
  
  	if (get_rfc1413(sock, &conn->local_addr, &conn->remote_addr, user, srv) >=
0)
  	    result = user;
 -
 -	ap_set_callback_and_alarm(NULL, 0);
      }
 +    ap_set_callback_and_alarm(NULL, 0);
      ap_pclosesocket(conn->pool, sock);
      conn->remote_logname = result;
  
 
 

Mime
View raw message