mirror of
https://github.com/apache/httpd.git
synced 2025-08-07 04:02:58 +03:00
Arrange the proxy timeout behaviour.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@546128 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -2278,6 +2278,7 @@ PROXY_DECLARE(int) ap_proxy_connection_create(const char *proxy_function,
|
||||
{
|
||||
apr_sockaddr_t *backend_addr = conn->addr;
|
||||
int rc;
|
||||
apr_interval_time_t current_timeout;
|
||||
|
||||
/*
|
||||
* The socket is now open, create a new backend server connection
|
||||
@@ -2327,6 +2328,12 @@ PROXY_DECLARE(int) ap_proxy_connection_create(const char *proxy_function,
|
||||
"proxy: %s: connection complete to %pI (%s)",
|
||||
proxy_function, backend_addr, conn->hostname);
|
||||
|
||||
/*
|
||||
* save the timout of the socket because core_pre_connection
|
||||
* will set it to base_server->timeout
|
||||
* (core TimeOut directive).
|
||||
*/
|
||||
apr_socket_timeout_get(conn->sock, ¤t_timeout);
|
||||
/* set up the connection filters */
|
||||
rc = ap_run_pre_connection(conn->connection, conn->sock);
|
||||
if (rc != OK && rc != DONE) {
|
||||
@@ -2336,6 +2343,7 @@ PROXY_DECLARE(int) ap_proxy_connection_create(const char *proxy_function,
|
||||
proxy_function, rc);
|
||||
return rc;
|
||||
}
|
||||
apr_socket_timeout_set(conn->sock, current_timeout);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
Reference in New Issue
Block a user