diff options
author | Jim Jagielski <jim@apache.org> | 2008-09-20 15:44:26 +0200 |
---|---|---|
committer | Jim Jagielski <jim@apache.org> | 2008-09-20 15:44:26 +0200 |
commit | 14bb7079df8db0f63ba4f26d569b728155c3108b (patch) | |
tree | 94efb36479dae2011ab59dff2b2a035d1d796f18 /modules/proxy/mod_proxy_http.c | |
parent | Introduce Suspendable Requests to the Event MPM. (diff) | |
download | apache2-14bb7079df8db0f63ba4f26d569b728155c3108b.tar.xz apache2-14bb7079df8db0f63ba4f26d569b728155c3108b.zip |
For timeouts, behave as before and not drop.
From Adam Woodworth <mirkperl gmail.com>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@697362 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/proxy/mod_proxy_http.c')
-rw-r--r-- | modules/proxy/mod_proxy_http.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c index 856be141d4..74862637f1 100644 --- a/modules/proxy/mod_proxy_http.c +++ b/modules/proxy/mod_proxy_http.c @@ -1372,6 +1372,10 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, ap_log_rerror(APLOG_MARK, APLOG_ERR, rc, r, "proxy: error reading status line from remote " "server %s", backend->hostname); + if (rc == APR_TIMEUP) { + ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, + "proxy: read timeout"); + } /* * If we are a reverse proxy request shutdown the connection * WITHOUT ANY response to trigger a retry by the client @@ -1379,9 +1383,12 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, * BUT currently we should not do this if the request is the * first request on a keepalive connection as browsers like * seamonkey only display an empty page in this case and do - * not do a retry. + * not do a retry. We should also not do this on a + * connection which times out; instead handle as + * we normally would handle timeouts */ - if (r->proxyreq == PROXYREQ_REVERSE && c->keepalives) { + if (r->proxyreq == PROXYREQ_REVERSE && c->keepalives && + rc != APR_TIMEUP) { apr_bucket *eos; ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, |