Author: artagnon
Date: Wed Sep 29 05:08:42 2010
New Revision: 1002470
URL: http://svn.apache.org/viewvc?rev=1002470&view=rev
Log:
svnrdump: dump_editor: Fix issues related to per-revision pool
* subversion/svnrdump/dump_editor.c
(open_root): Mention that `eb->pool` is a per-revision pool and
clear it in every iteration. Make it a toplevel pool since the
lifetime of `pool` is not known.
(close_edit): Remove useless svn_pool_destroy cruft since logs show
that this function is never actually called.
Modified:
subversion/trunk/subversion/svnrdump/dump_editor.c
Modified: subversion/trunk/subversion/svnrdump/dump_editor.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svnrdump/dump_editor.c?rev=1002470&r1=1002469&r2=1002470&view=diff
==============================================================================
--- subversion/trunk/subversion/svnrdump/dump_editor.c (original)
+++ subversion/trunk/subversion/svnrdump/dump_editor.c Wed Sep 29 05:08:42 2010
@@ -367,10 +367,13 @@ open_root(void *edit_baton,
void **root_baton)
{
struct dump_edit_baton *eb = edit_baton;
- /* Allocate a special pool for the edit_baton to avoid pool
- lifetime issues */
- eb->pool = svn_pool_create(pool);
+ /* Special toplevel per-revision pool */
+ if (eb->pool)
+ svn_pool_clear(eb->pool);
+ else
+ eb->pool = svn_pool_create(NULL);
+
eb->props = apr_hash_make(eb->pool);
eb->deleted_props = apr_hash_make(eb->pool);
eb->propstring = svn_stringbuf_create("", eb->pool);
@@ -833,10 +836,6 @@ close_file(void *file_baton,
static svn_error_t *
close_edit(void *edit_baton, apr_pool_t *pool)
{
- struct dump_edit_baton *eb = edit_baton;
- LDR_DBG(("close_edit\n"));
- svn_pool_destroy(eb->pool);
-
return SVN_NO_ERROR;
}