On Thursday 20 September 2001 08:12 pm, Aaron Bannert wrote: > On Thu, Sep 20, 2001 at 05:48:45PM -0700, Greg Stein wrote: > > On Thu, Sep 20, 2001 at 11:18:55AM -0700, Aaron Bannert wrote: > > Basically, the above code processes the cleanups in batches. Everything > > that was initially registered is processed, then everything registerd > > during the first cleanup round, etc. > > That does encourage deeper recursion, would this be a potential problem > for OSs like Netware that have a rather small and limited stack size? > I don't really know how much the pool_clear() routines consume stack space. > > > It does not maintain the LIFO behavior where cleanup A registers cleanup > > B and expects B to run *just after* cleanup A finishes. If A wanted that, > > then it could just calll B. But the most important part: all cleanups > > *do* get run. > > Correct me if I'm wrong, it is a LIFO and what Ryan wants is a FIFO. > > LIFO == cleanup registers a cleanup, it gets run after the cleanups > FIFO == cleanup registers a cleanup, it gets run as soon as this one > returns > > Am I missing something?
Well, I wouldn't say what I want, rather the way cleanups have always worked. As for the FIFO vs LIFO, I think you have it backwards. LIFO == cleanup registers a cleanup, it gets run as soon as this one returns FIFO == cleanup registers a cleanup, it gets run after the the current batch of cleanups. Ryan ______________________________________________________________ Ryan Bloom [EMAIL PROTECTED] Covalent Technologies [EMAIL PROTECTED] --------------------------------------------------------------