On Thu, 10 Jul 2003, Joshua Moore-Oliva wrote: > Regardless of it's usefulness, it is something that people can do. I do not > see any performance penalty by running the cleanups before clearing the > subpools, and it eliminates a possible segmentation fault.
Actually it would cause a lot more segfaults if you changed it. The reason I asked you to just take my word for it before is that these cleanup problems are horrendously complicated and intertwined and hard to explain, not because I was trying to say "we've already decided it and you have no input." Here's one example: Let's say you have an object a in pool p and a childpool q that has an object b (which refers to object a) in it. If you destroy a before you cleanup pool q, then the cleanup for b will run after things it depends on from object a are already destroyed. So the pool cleanup order is always LIFO... we always guarantee that when q's cleanups run, everything in p still exists. If that were not the case, then it would be very difficult to cleanup things in q. Does that help clarify? --Cliff
