Josh Pieper <jpieper@andrew.cmu.edu> writes:
> Here's another bite-sized patch. By moving where the sub-pools are
> allocated, the maximum number of simultaneous svn:externals
> connections is now a function of the recursion depth, rather than the
> total number of linked repositories in the tree. I'm not certain that
> this is correct pool usage, as I haven't used apr's pools before.
> However, it doesn't segfault or leak more memory, and it passes all
> local tests.
>
> -Josh
>
> -------------------------------------
>
> Fix issue #1448: Decrease the number of svn:externals connections
> by clearing appropriate subpools after each external operation.
>
> * subversion/libsvn_client/externals.c
> (handle_externals_desc_change, handle_external_item_change):
> Create a subpool for each external that is handled and destroy
> it upon completion.
> (svn_client__do_external_status): Move the created subpool in one
> level, so that it is cleared after each external is checked.
Dude!
Allow me to copy-n-paste my current log-message-in-progress:
Finish issue #1448 - svn:externals keeps connections open until end.
* subversion/libsvn_client/externals.c
(struct handle_external_item_change_baton): Declare the 'pool'
member to be for short-lived scratchwork only.
(handle_external_item_change): Clear the baton's pool before using it.
(handle_externals_desc_change): Allocate and destroy a subpool for
the hash diff mechanism.
(svn_client__do_external_status): Um... do the status in the
subpool, too.
Get outta my brain, boy! :-)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Oct 5 19:29:44 2003