From: "Greg Stein" <[EMAIL PROTECTED]>
Sent: Wednesday, September 19, 2001 1:26 PM


> On Wed, Sep 19, 2001 at 01:52:12PM -0400, Rodent of Unusual Size wrote:
> > Greg Stein wrote:
> > > It isn't a bug. Cleanups are for just wrapping things up,
> > > not doing work.
> > 
> > If that's the authoritative answer, then we need to provide
> > a supported way for 'doing work' at cleanup time.
> > 
> > > You might not even be able to open and use that file if
> > > your pool is n the process of being destroyed.
> > 
> > That sounds like utter tripe.  If you can't depend on the
> > pool lasting at least until your cleanup routine ends,
> > then the whole cleanup mechanism is seriously borked.  AFAIK
> > it isn't, so I think the above assertion *is*.
> 
> The problem is cross-dependency between the cleanup actions. One can destroy
> something another cleanup needs. If you restrict their actions to "simple"
> things, then the cross-dependencies are (hopefully!) removed.

Really?  No.  Cleanups are run as a LIFO stack.  Anything that existed when
something was added to the pool must exist when that something is removed
from the pool.

IMHO, we need to make subpool scrubbing an actual LIFO cleanup as well, so that
will also be true of subpools.

Considering how we use pools for dynamic libraries and the rest, it's absolutely
vital that they are unspun from the pool in LIFO order of their creation.

Bill

Reply via email to