mirror of
https://github.com/apache/httpd.git
synced 2025-08-10 02:02:49 +03:00
Fix the timeout logic. The order is now:
1 - worker->timeout 2 - proxy_conf->timeout 3 - server->timeout. ap_get_module_config() is not perfect by that is easy to port back to 2.2.x. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@550514 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -2167,6 +2167,9 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function,
|
|||||||
int loglevel;
|
int loglevel;
|
||||||
apr_sockaddr_t *backend_addr = conn->addr;
|
apr_sockaddr_t *backend_addr = conn->addr;
|
||||||
apr_socket_t *newsock;
|
apr_socket_t *newsock;
|
||||||
|
void *sconf = s->module_config;
|
||||||
|
proxy_server_conf *conf =
|
||||||
|
(proxy_server_conf *) ap_get_module_config(sconf, &proxy_module);
|
||||||
|
|
||||||
if (conn->sock) {
|
if (conn->sock) {
|
||||||
/*
|
/*
|
||||||
@@ -2215,6 +2218,9 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function,
|
|||||||
if (worker->timeout_set == 1) {
|
if (worker->timeout_set == 1) {
|
||||||
apr_socket_timeout_set(newsock, worker->timeout);
|
apr_socket_timeout_set(newsock, worker->timeout);
|
||||||
}
|
}
|
||||||
|
else if (conf->timeout_set == 1) {
|
||||||
|
apr_socket_timeout_set(newsock, conf->timeout);
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
apr_socket_timeout_set(newsock, s->timeout);
|
apr_socket_timeout_set(newsock, s->timeout);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user