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;
 }
 


Reply via email to