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