You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2015/10/01 15:23:01 UTC

svn commit: r1706241 - /subversion/trunk/subversion/libsvn_wc/wc_db_pristine.c

Author: rhuijben
Date: Thu Oct  1 13:23:01 2015
New Revision: 1706241

URL: http://svn.apache.org/viewvc?rev=1706241&view=rev
Log:
* subversion/libsvn_wc/wc_db_pristine.c
  (pristine_cleanup_wcroot): Add iterpool to avoid unneeded memory growth.

Modified:
    subversion/trunk/subversion/libsvn_wc/wc_db_pristine.c

Modified: subversion/trunk/subversion/libsvn_wc/wc_db_pristine.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db_pristine.c?rev=1706241&r1=1706240&r2=1706241&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db_pristine.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db_pristine.c Thu Oct  1 13:23:01 2015
@@ -835,6 +835,7 @@ pristine_cleanup_wcroot(svn_wc__db_wcroo
 {
   svn_sqlite__stmt_t *stmt;
   svn_error_t *err = NULL;
+  apr_pool_t *iterpool = svn_pool_create(scratch_pool);
 
   /* Find each unreferenced pristine in the DB and remove it. */
   SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
@@ -844,16 +845,20 @@ pristine_cleanup_wcroot(svn_wc__db_wcroo
       svn_boolean_t have_row;
       const svn_checksum_t *sha1_checksum;
 
+      svn_pool_clear(iterpool);
+
       SVN_ERR(svn_sqlite__step(&have_row, stmt));
       if (! have_row)
         break;
 
       SVN_ERR(svn_sqlite__column_checksum(&sha1_checksum, stmt, 0,
-                                          scratch_pool));
+                                          iterpool));
       err = pristine_remove_if_unreferenced(wcroot, sha1_checksum,
-                                            scratch_pool);
+                                            iterpool);
     }
 
+  svn_pool_destroy(iterpool);
+
   return svn_error_trace(
       svn_error_compose_create(err, svn_sqlite__reset(stmt)));
 }