On October 9, 2003 09:57 am, Dan Sugalski wrote:
> 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.

I've been interested in how to clean up circular dependencies... Just how easy 
is it to find all cases? Is it possible? Like say a really really deep 
case... Should you just not care at that point, and say the programmer 
deserves what [s]he gets?

>                                       Dan

-- 
Thomas Fjellstrom
[EMAIL PROTECTED]
http://strangesoft.net

Reply via email to