Return-Path: Delivered-To: apmail-perl-dev-archive@www.apache.org Received: (qmail 90598 invoked from network); 3 Mar 2009 08:15:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Mar 2009 08:15:22 -0000 Received: (qmail 88951 invoked by uid 500); 3 Mar 2009 08:15:21 -0000 Delivered-To: apmail-perl-dev-archive@perl.apache.org Received: (qmail 88930 invoked by uid 500); 3 Mar 2009 08:15:21 -0000 Mailing-List: contact dev-help@perl.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@perl.apache.org Received: (qmail 88920 invoked by uid 99); 3 Mar 2009 08:15:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Mar 2009 00:15:21 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of torsten.foertsch@gmx.net designates 213.165.64.20 as permitted sender) Received: from [213.165.64.20] (HELO mail.gmx.net) (213.165.64.20) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 03 Mar 2009 08:15:12 +0000 Received: (qmail invoked by alias); 03 Mar 2009 08:14:51 -0000 Received: from p57A5AB52.dip.t-dialin.net (EHLO opi.home) [87.165.171.82] by mail.gmx.net (mp057) with SMTP; 03 Mar 2009 09:14:51 +0100 X-Authenticated: #1700068 X-Provags-ID: V01U2FsdGVkX19yPB5iVstyAAJy/sRErwc9Tx9q/AqZefBSFEQy7b +EQNinNpxZnqEU From: Torsten Foertsch To: dev@perl.apache.org Subject: Re: Handler leakage Date: Tue, 3 Mar 2009 09:14:47 +0100 User-Agent: KMail/1.9.10 References: <200903021758.11979.torsten.foertsch@gmx.net> In-Reply-To: <200903021758.11979.torsten.foertsch@gmx.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200903030914.47516.torsten.foertsch@gmx.net> X-Y-GMX-Trusted: 0 X-FuHaFi: 0.64 X-Virus-Checked: Checked by ClamAV on apache.org On Mon 02 Mar 2009, Torsten Foertsch wrote: > The reason can be found in modperl_handler.c. Each time /handler is > called a new closure is stored in $PL_modglobal{ANONSUB}{$id}. > Unfortunately the closure is never deleted from the hash I believe. > So since $self is in the pad each time /handler is called a reference > is added to $My::XX from the closure. Just a thought, I think we must distinguish between 2 cases. A) a dynamic handler declared before the interpreters are started and B) a dynamic handler declared at runtime. In the former case the current behavior is perhaps correct. But in the latter I think the dynamic handler should bind the interpreter to the request/thread just like a pool cleanup does. Thoughts? Torsten -- Need professional mod_perl support? Just hire me: torsten.foertsch@gmx.net --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org For additional commands, e-mail: dev-help@perl.apache.org