Hi,
that's connected to PR 54973. apr_poll in mod_proxy_fcgi dispatch method
uses hard-coded 30s timeout if "timeout=XX" is not set in ProxyPass
directive.
Attached patch uses apr_socket_timeout_get(conn->sock) as default
timeout, so it's possible to set this particular timeout globally using
Timeout and ProxyTimeout directives.
Regards,
Jan Kaluza
diff --git a/modules/proxy/mod_proxy_fcgi.c b/modules/proxy/mod_proxy_fcgi.c
index 875153f..4e9a325 100644
--- a/modules/proxy/mod_proxy_fcgi.c
+++ b/modules/proxy/mod_proxy_fcgi.c
@@ -569,15 +569,13 @@ static apr_status_t dispatch(proxy_conn_rec *conn, proxy_dir_conf *conf,
ob = apr_brigade_create(r->pool, c->bucket_alloc);
while (! done) {
- apr_interval_time_t timeout = conn->worker->s->timeout;
+ apr_interval_time_t timeout;
apr_size_t len;
int n;
/* We need SOME kind of timeout here, or virtually anything will
* cause timeout errors. */
- if (! conn->worker->s->timeout_set) {
- timeout = apr_time_from_sec(30);
- }
+ apr_socket_timeout_get(conn->sock, &timeout);
rv = apr_poll(&pfd, 1, &n, timeout);
if (rv != APR_SUCCESS) {