You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@apache.org on 2006/02/09 17:51:24 UTC

svn commit: r376346 - /httpd/httpd/branches/fcgi-proxy-dev/modules/proxy/mod_proxy_fcgi.c

Author: jim
Date: Thu Feb  9 08:51:22 2006
New Revision: 376346

URL: http://svn.apache.org/viewcvs?rev=376346&view=rev
Log:
Document that we are being chunking in our
content passing, as compared to simply spooling
all the content in until clen == 0. Also, we
need to cleanup the brigade after each pass.

Modified:
    httpd/httpd/branches/fcgi-proxy-dev/modules/proxy/mod_proxy_fcgi.c

Modified: httpd/httpd/branches/fcgi-proxy-dev/modules/proxy/mod_proxy_fcgi.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/fcgi-proxy-dev/modules/proxy/mod_proxy_fcgi.c?rev=376346&r1=376345&r2=376346&view=diff
==============================================================================
--- httpd/httpd/branches/fcgi-proxy-dev/modules/proxy/mod_proxy_fcgi.c (original)
+++ httpd/httpd/branches/fcgi-proxy-dev/modules/proxy/mod_proxy_fcgi.c Thu Feb  9 08:51:22 2006
@@ -683,10 +683,21 @@
                             apr_bucket_setaside(b, setaside_pool);
                         }
                     } else {
+                            /* we've already passed along the headers,
+                             * so now pass through the content.
+                             * we could simply continue to setaside
+                             * the content and not pass until we
+                             * see the 0 content-length (below, where
+                             * we append the EOS), but that
+                             * could be a huge amount of data;
+                             * so we pass along smaller chunks
+                             */
                             rv = ap_pass_brigade(r->output_filters, ob);
                             if (rv != APR_SUCCESS) {
                                 break;
                             }
+                            apr_brigade_cleanup(ob);
+
                     }
 
                     /* If we didn't read all the data go back and get the