summaryrefslogtreecommitdiffstats
path: root/modules/proxy/proxy_util.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/proxy/proxy_util.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c
index e40b569498..e975af94bc 100644
--- a/modules/proxy/proxy_util.c
+++ b/modules/proxy/proxy_util.c
@@ -2020,19 +2020,17 @@ ap_proxy_determine_connection(apr_pool_t *p, request_rec *r,
uri->fragment ? uri->fragment : "", NULL);
}
/*
- * Make sure that we pick the the correct and valid worker.
- * If a single keepalive connection triggers different workers,
- * then we have a problem (we don't select the correct one).
- * Do an expensive check in this case, where we compare the
- * the hostnames associated between the two.
+ * Figure out if our passed in proxy_conn_rec has a usable
+ * address cached.
*
- * TODO: Handle this much better...
+ * TODO: Handle this much better...
+ *
+ * XXX: If generic workers are ever address-reusable, we need
+ * to check host and port on the conn and be careful about
+ * spilling the cached addr from the worker.
*/
if (!conn->hostname || !worker->s->is_address_reusable ||
- worker->s->disablereuse ||
- (r->connection->keepalives &&
- (r->proxyreq == PROXYREQ_PROXY || r->proxyreq == PROXYREQ_REVERSE) &&
- (strcasecmp(conn->hostname, uri->hostname) != 0) ) ) {
+ worker->s->disablereuse) {
if (proxyname) {
conn->hostname = apr_pstrdup(conn->pool, proxyname);
conn->port = proxyport;