Joe Orton <joe@light.plus.com> writes:
> On Fri, Oct 20, 2000 at 04:45:20PM -0000, Ben Sussman wrote:
> > User: sussman
> > Date: 00/10/20 09:45:20
> >
> > Modified: subversion/libsvn_wc adm_crawler.c entries.c wc.h
> > Log:
> > * adm_crawler.c (process_subdirectory): reinstate subpools at each
> > level of the tree, but also remove the second "pool" argument to
> > this routine; all subpools are now direct children of top_pool,
> > rather than generating a long chain of subpools.
> ...
>
> Was it your intention that this subpool doesn't get immediately
> destroyed in all the error cases in this function? It's maybe not a big
> issue since the subpool will still get cleaned up when it's parent does,
> (which might happen pretty quickly in the error case) but I think it's
> worth a comment if that is what you mean.
>
Actually, it *was* an oversight; if the crawler is N levels deep in a
working copy and suddenly returns an error, there are N subpools that
don't get freed. However, as you point out, the top-level pool will
certainly be freed by the caller who gets the error. This is a sweet
result that comes from using pools. :)
I'll add a comment.
Received on Sat Oct 21 14:36:12 2006