On Mon, 6 Apr 2009, Matthew Persico wrote:

Do I have the diagnosis right? Here are the relevent parts of the
modules. Now, I know that I really don't need these DEMOLISH subs, but
even so, they should work, right? I would think that the destruct
sequence would be

LTH::Message::ETN

then, in any order
LTH::Message
LTH::Mqueue
LTH::Config

and finally
LTH

Is this a bad assumption?

Yes, it is a bad assumption.

During global destruction, the order of object destruction is essentially random.

One possibility is to try to use an END block to implement some of the destruction behavior, but I don't know where you'd put it, or how it would access the objects you want to access.

Another possibility is just to give up and not try to do anything during global destruction. You can use the Devel::GlobalDestruction module to check if you are in global destruction.

Note that this has nothing to do with Moose. This is an issue with the Perl interpreter.


-dave

/*============================================================
http://VegGuide.org               http://blog.urth.org
Your guide to all that's veg      House Absolute(ly Pointless)
============================================================*/

Reply via email to