The following reply was made to PR os-solaris/1190; it has been noted by GNATS.
From: Dean Gaudet <[EMAIL PROTECTED]>
To: Eugene Crosser <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED]
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;