summaryrefslogtreecommitdiff
path: root/modules/http
diff options
context:
space:
mode:
authorWilliam A. Rowe Jr <wrowe@apache.org>2005-10-06 01:29:42 +0000
committerWilliam A. Rowe Jr <wrowe@apache.org>2005-10-06 01:29:42 +0000
commit7e2a5490d174a33c3da70db17bc5d4e5a7a22cf9 (patch)
tree8cf157ab9c86f6d6a5d76f863cee50505514d801 /modules/http
parente279db098e9447b7e25f94f71394ef16e8c2097a (diff)
downloadhttpd-7e2a5490d174a33c3da70db17bc5d4e5a7a22cf9.tar.gz
NET_TIME, as a standalone feature, was a horrid idea.
The core filter will NOT operate correctly across platforms (even between Linux/Solaris) without setting up the conn->timeout, so always apply the timeout when establishing the core filter. The keep-alive-timeout is entirely an HTTP-ism, and needs to move to the http protocol handler. Note #1; this isn't triggered in the event mpm, but the event mpm introspects s->keep_alive_timeout directly adding it to the pollset, so this is a non-sequitor. Finally, once the headers are read, the named virtual host may have a different (more/less permissive) timeout for the remainder of the request body. This http-centric patch picks up that subtle detail and can switch to a named-vhost timeout. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@306495 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/http')
-rw-r--r--modules/http/http_core.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/modules/http/http_core.c b/modules/http/http_core.c
index 58a268fe7b..db0dc4fd15 100644
--- a/modules/http/http_core.c
+++ b/modules/http/http_core.c
@@ -181,11 +181,13 @@ static int ap_process_http_connection(conn_rec *c)
if (ap_graceful_stop_signalled())
break;
- /* Go straight to select() to wait for the next request */
+
if (!csd) {
csd = ap_get_module_config(c->conn_config, &core_module);
}
apr_socket_opt_set(csd, APR_INCOMPLETE_READ, 1);
+ apr_socket_timeout_set(csd, c->base_server->keep_alive_timeout);
+ /* Go straight to select() to wait for the next request */
}
return OK;