Still no comments on this?

Brian Akins wrote:
Here's a patch that removes the explicit discrimination against keep-alives for sub requests.



------------------------------------------------------------------------

diff -ru httpd-2.1.9-beta/modules/proxy/mod_proxy_http.c 
httpd-2.1.9-beta-new/modules/proxy/mod_proxy_http.c
--- httpd-2.1.9-beta/modules/proxy/mod_proxy_http.c     2005-10-21 
17:54:27.000000000 -0400
+++ httpd-2.1.9-beta-new/modules/proxy/mod_proxy_http.c 2005-11-15 
07:40:25.000000000 -0500
@@ -802,15 +802,9 @@
     /* We have headers, let's figure out our request body... */
     input_brigade = apr_brigade_create(p, bucket_alloc);
- /* sub-requests never use keepalives, and mustn't pass request bodies.
-     * Because the new logic looks at input_brigade, we will self-terminate
-     * input_brigade and jump past all of the request body logic...
-     * Reading anything with ap_get_brigade is likely to consume the
-     * main request's body or read beyond EOS - which would be unplesant.
+    /* sub-requests mustn't pass request bodies.
      */
     if (r->main) {
-        /* XXX: Why DON'T sub-requests use keepalives? */
-        p_conn->close++;
         if (old_cl_val) {
             old_cl_val = NULL;
             apr_table_unset(r->headers_in, "Content-Length");
@@ -1662,22 +1656,16 @@
              "proxy: HTTP: serving URL %s", url);
- /* only use stored info for top-level pages. Sub requests don't share - * in keepalives
-     */
-    if (!r->main) {
-        backend = (proxy_conn_rec *) ap_get_module_config(c->conn_config,
+    backend = (proxy_conn_rec *) ap_get_module_config(c->conn_config,
                                                       &proxy_http_module);
-    }
+
     /* create space for state information */
     if (!backend) {
         if ((status = ap_proxy_acquire_connection(proxy_function, &backend,
                                                   worker, r->server)) != OK)
             goto cleanup;
-
-        if (!r->main) {
-            ap_set_module_config(c->conn_config, &proxy_http_module, backend);
-        }
+ + ap_set_module_config(c->conn_config, &proxy_http_module, backend);
     }
backend->is_ssl = is_ssl;


--
Brian Akins
Lead Systems Engineer
CNN Internet Technologies

Reply via email to