On Thu, 9 Oct 2003, Dave Mitchell wrote:

> On Thu, Oct 09, 2003 at 11:43:41AM -0400, Dan Sugalski wrote:
> > We've got ordered destruction on the big list 'o things to do, and it
> > looks like we need to get that done sooner rather than later. So, this is
> > a good chance for someone to burn those surplus SAN points and become one
> > with the great gibbering chaos at the center of the universe (no, wait,
> > that's not it) by digging into the DOD system.
> >
> > Not a huge task, we just need to order PMCs before destroying them, to
> > make sure we don't call the destructor for a PMC before we destroy the
> > things that depend on it. A quick run through the PMC pools to build up a
> > dependency chain if there's more than one PMC that needs destruction
> > should do it.
>
> I always thought that was a rather hard issue, due to circular
> dependencies. It's certainly the case that Perl5 is very poor at global
> destruction of objects.

In the circular case you just pick a place and go from there -- there's no
good way to handle those. There are a lot of cases where there are
non-circular dependencies, though, so it seems worthwhile to take those in
order. Probably ought to be optional for all the sweeps except, perhaps,
the final one, though I expect perl, python, and ruby code will all enable
ordered destruction.

                                        Dan

Reply via email to