Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 66111 invoked from network); 19 May 2004 06:06:30 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 19 May 2004 06:06:30 -0000 Received: (qmail 71057 invoked by uid 500); 19 May 2004 06:06:58 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 70960 invoked by uid 500); 19 May 2004 06:06:58 -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: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 70940 invoked by uid 98); 19 May 2004 06:06:58 -0000 Received: from wrowe@rowe-clan.net by hermes.apache.org by uid 82 with qmail-scanner-1.20 (clamuko: 0.70. Clear:RC:0(207.155.252.47):. Processed in 0.01518 secs); 19 May 2004 06:06:58 -0000 X-Qmail-Scanner-Mail-From: wrowe@rowe-clan.net via hermes.apache.org X-Qmail-Scanner: 1.20 (Clear:RC:0(207.155.252.47):. Processed in 0.01518 secs) Received: from unknown (HELO goliath.cnchost.com) (207.155.252.47) by hermes.apache.org with SMTP; 19 May 2004 06:06:57 -0000 Received: from rcsv650.rowe-clan.net (c-24-13-128-132.client.comcast.net [24.13.128.132]) by goliath.cnchost.com id CAA11104; Wed, 19 May 2004 02:06:02 -0400 (EDT) [ConcentricHost SMTP Relay 1.17] Errors-To: Message-Id: <6.1.0.6.2.20040519004613.02d09588@pop3.rowe-clan.net> X-Sender: wrowe%rowe-clan.net@pop3.rowe-clan.net X-Mailer: QUALCOMM Windows Eudora Version 6.1.0.6 Date: Wed, 19 May 2004 00:46:45 -0500 To: dev@httpd.apache.org From: "William A. Rowe, Jr." Subject: Re: is it possible to mark buckets to be copied only when to be set-aside? In-Reply-To: <40AAEC0A.5070707@stason.org> References: <40AAEC0A.5070707@stason.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-Spam-Rating: hermes.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N It's a bug in mod_xslt, if that module trys to set aside a transient bucket. Bill At 12:09 AM 5/19/2004, Stas Bekman wrote: >We have the following situation in mod_perl 2 land: we use the same buffer to allocate data in buckets which are passed to the filters. That bucket is created once per request. It works perfectly fine and effective most of the time (we copy from user's program perl space into the re-usable buffer, but no extra allocation happens). But just now one user has reported that it breaks mod_xslt filter, which sets aside the buckets sent from the modperl handler, and then uses them after seeing EOS. By that time the data in all but last bucket is corrupted. Obviously the straightforward solution is to allocate a new buffer for each bucket that mod_perl sends to the filter chain. But this is a huge waste for most users, which don't use this particular kind of output filters that setaside buckets. > >My question is: Is it possible to mark the bucket's data as volatile or something, so if a downstream filter wants to set them aside it will have to do the copying? > >At the moment the bucket is created as: > bucket = apr_bucket_transient_create(buf, len, ba); >and buf is static for the length of the request. > >Thank you. > > >-- >__________________________________________________________________ >Stas Bekman JAm_pH ------> Just Another mod_perl Hacker >http://stason.org/ mod_perl Guide ---> http://perl.apache.org >mailto:stas@stason.org http://use.perl.org http://apacheweek.com >http://modperlbook.org http://apache.org http://ticketmaster.com