Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 4655 invoked from network); 6 Jan 2006 18:48:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 6 Jan 2006 18:48:26 -0000 Received: (qmail 87781 invoked by uid 500); 6 Jan 2006 18:48:21 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 87725 invoked by uid 500); 6 Jan 2006 18:48:20 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 87714 invoked by uid 99); 6 Jan 2006 18:48:20 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Jan 2006 10:48:20 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [209.133.199.10] (HELO jimsys.jagunet.com) (209.133.199.10) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Jan 2006 10:48:19 -0800 Received: from [127.0.0.1] (localhost [127.0.0.1]) by jimsys.jagunet.com (Postfix) with ESMTP id 6B6A487EE9E for ; Fri, 6 Jan 2006 13:47:59 -0500 (EST) Mime-Version: 1.0 (Apple Message framework v746.2) In-Reply-To: <43BD7A9C.5060907@apache.org> References: <8EEEDC0F-634E-459E-89EA-AC872326E3AA@jaguNET.com> <43A58749.3070903@apache.org> <43A5DED4.7060709@apache.org> <72A5F4B7-BB0B-485F-9983-F6AD0CBC73C2@jaguNET.com> <43A86651.9080004@turner.com> <43A87423.9000504@apache.org> <43B9989B.4070207@apache.org> <99EBAA88-116D-4757-A554-147A478CF0D8@apache.org> <43BD0789.80701@apache.org> <20060105115827.GA26479@redhat.com> <43BD1640.5050603@apache.org> <43BD7A9C.5060907@apache.org> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <65841636-BDB3-4639-9FFD-09FE08A14AC3@jaguNET.com> Content-Transfer-Encoding: 7bit From: Jim Jagielski Subject: Re: AW: AW: AW: 2.2 mod_http_proxy and "partial" pages Date: Fri, 6 Jan 2006 13:47:58 -0500 To: dev@httpd.apache.org X-Mailer: Apple Mail (2.746.2) X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Still not sure why you are using a specific error detection filter rather than the generic one in -trunk On Jan 5, 2006, at 2:59 PM, Ruediger Pluem wrote: > @@ -146,13 +162,20 @@ > * 2) the trailer > * 3) the end-of-chunked body CRLF > * > - * If there is no EOS bucket, then do nothing. > + * If there is no EOS bucket, or if we had seen an error > bucket with > + * status HTTP_BAD_GATEWAY then do nothing. We have > memorized an > + * error bucket that we had seen in the filter context. > + * The error bucket with status HTTP_BAD_GATEWAY indicates > that the > + * connection to the backend (mod_proxy) broke in the > middle of the > + * response. In order to signal the client that something > went wrong > + * we do not create the last-chunk marker and set c- > >keepalive to > + * AP_CONN_CLOSE in the core output filter. > * > * XXX: it would be nice to combine this with the end-of- > chunk > * marker above, but this is a bit more straight-forward for > * now. > */ > - if (eos != NULL) { > + if (eos && !f->ctx) { Code logic doesn't match comment. > + /* > + * Ensure that we sent an EOS bucket thru the filter chain, if > we already > + * have sent some data. Maybe ap_proxy_backend_broke was > called and added > + * one to the brigade already. So we should not do this in > this case. > + */ > + if (data_sent && !r->eos_sent && APR_BRIGADE_EMPTY > (output_brigade)) { > + e = apr_bucket_eos_create(r->connection->bucket_alloc); > + APR_BRIGADE_INSERT_TAIL(output_brigade, e); > + } > + > Also, if data_sent is true, then ap_proxy_backend_broke() already sent the EOS, so why are we checking if it's true again? I think the logic is wrong...