]> granicus.if.org Git - apache/commitdiff
OK, while we ponder how best to reuse conn pools for workers,
authorJim Jagielski <jim@apache.org>
Sun, 11 Dec 2005 21:36:27 +0000 (21:36 +0000)
committerJim Jagielski <jim@apache.org>
Sun, 11 Dec 2005 21:36:27 +0000 (21:36 +0000)
clean this section up.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@356030 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/proxy_util.c

index 4877e909b836c1bedede5726d695c03971936cc4..410f501711cea7b4795053974ebf101d5da409d8 100644 (file)
@@ -1825,21 +1825,15 @@ 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.
+     * Do an expensive check in this case, where we compare the
+     * the hostnames associated between the two.
      *
      * TODO: Handle this much better...
      */
-    if (!conn->hostname) {
-        if (proxyname) {
-            conn->hostname = apr_pstrdup(conn->pool, proxyname);
-            conn->port = proxyport;
-        } else {
-            conn->hostname = apr_pstrdup(conn->pool, uri->hostname);
-            conn->port = uri->port;
-        }
-    } else if (!worker->is_address_reusable ||
+    if (!conn->hostname || !worker->is_address_reusable ||   
          (r->connection->keepalives &&
          (r->proxyreq == PROXYREQ_PROXY || r->proxyreq == PROXYREQ_REVERSE) &&
          (strcasecmp(conn->hostname, uri->hostname) != 0) ) ) {