perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philippe M. Chiasson" <go...@ectoplasm.org>
Subject [Patch] Was: Apache Reload Caveat
Date Fri, 31 Mar 2006 02:05:37 GMT
Jonathan Vanasco wrote:
> On Mar 30, 2006, at 6:42 PM, Perrin Harkins wrote:
> 
>> On Thu, 2006-03-30 at 18:34 -0500, Jonathan Vanasco wrote:
>>> if you subclass a module to override a few methods, and then decide
>>> to remove a subclassed method (to call off the method in the parent
>>> class instead), you will raise an error instead of calling the parent
>>> method.
>>> if you do a restart, everything works as expected.
>> Perl caches method lookups in order to reduce the performance hit  
>> of OO
>> code.  If you'd like to make a patch for the A::Reload docs saying  
>> that
>> it can't handle changes that modify which package a method should be
>> called in, I think that's close enough.

Or, you can try this quick patch (no test for this included);-) Basically,
when causing things that might invalidate Perl's method cache, one is
supposed to increase PL_sub_generation.

This patch adds this behavior to Apache2::Reload and might just make this
problem go away. Feedback on success/failure would be very much appreciated.

--------------------------------------------------------------------------------
Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5
http://gozer.ectoplasm.org/     F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5

Mime
View raw message