On 02/11/2011 12:02 PM, Randolf Richardson wrote:

I use reload all the time it worked OK for most modules but some modules
(at least the ones that use "use base 'modulename';" ) will have problems.

        That's very interesting because where I'm seeing the crashing
usually involves code that uses "use base" somewhere (in one
particular case the base is for some basic database stuff that
utilizes "DBIx::Class"-auto-generated code).

I highly doubt that it's tied to "use base" at all, but instead is caused by modules that are highly dynamic (do things like create methods at runtime like DBIx::Class would do). But because this magic is buried in the base class you don't see it until you use that base class as your parent (via "use base").

Perl doesn't have a real way to unload a module or to completely force a reload. Apache::Reload tries it's best but there are lots of modules it can't handle. It's not it's fault really, it's a feature that's missing in Perl.

These days, I never use Apache::Reload. I just restart my dev server ( yes, I believe each dev should have their own dev Apache server).

--
Michael Peters
Plus Three, LP

Reply via email to