You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by da...@apache.org on 2011/07/14 02:25:10 UTC
svn commit: r1146525 - in /subversion/trunk/subversion/libsvn_fs_fs: fs_fs.c
rep-cache.c rep-cache.h
Author: danielsh
Date: Thu Jul 14 00:25:10 2011
New Revision: 1146525
URL: http://svn.apache.org/viewvc?rev=1146525&view=rev
Log:
Actually check for cancellation in svn_fs_fs__verify().
* subversion/libsvn_fs_fs/fs_fs.c
(svn_fs_fs__verify):
Pass CANCEL_FUNC/CANCEL_BATON to svn_fs_fs__walk_rep_reference().
* subversion/libsvn_fs_fs/rep-cache.h
(svn_fs_fs__walk_rep_reference):
Grow CANCEL_FUNC/CANCEL_BATON parameters.
* subversion/libsvn_fs_fs/rep-cache.c
(svn_fs_fs__walk_rep_reference):
Check for cancellation while looping.
Modified:
subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
subversion/trunk/subversion/libsvn_fs_fs/rep-cache.c
subversion/trunk/subversion/libsvn_fs_fs/rep-cache.h
Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=1146525&r1=1146524&r2=1146525&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Thu Jul 14 00:25:10 2011
@@ -7807,7 +7807,9 @@ svn_fs_fs__verify(svn_fs_t *fs,
return SVN_NO_ERROR;
/* Don't take any lock. */
- SVN_ERR(svn_fs_fs__walk_rep_reference(fs, verify_walker, pool));
+ SVN_ERR(svn_fs_fs__walk_rep_reference(fs, verify_walker,
+ cancel_func, cancel_baton,
+ pool));
return SVN_NO_ERROR;
}
Modified: subversion/trunk/subversion/libsvn_fs_fs/rep-cache.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/rep-cache.c?rev=1146525&r1=1146524&r2=1146525&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/rep-cache.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/rep-cache.c Thu Jul 14 00:25:10 2011
@@ -124,6 +124,8 @@ svn_fs_fs__walk_rep_reference(svn_fs_t *
svn_error_t *(*walker)(representation_t *,
svn_fs_t *,
apr_pool_t *),
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
apr_pool_t *pool)
{
fs_fs_data_t *ffd = fs->fsap_data;
@@ -154,6 +156,10 @@ svn_fs_fs__walk_rep_reference(svn_fs_t *
if (iterations++ % 16 == 0)
svn_pool_clear(iterpool);
+ /* Check for cancellation. */
+ if (cancel_func)
+ SVN_ERR(cancel_func(cancel_baton));
+
/* Construct a representation_t. */
rep = apr_pcalloc(pool, sizeof(*rep));
sha1_digest = svn_sqlite__column_text(stmt, 0, iterpool);
Modified: subversion/trunk/subversion/libsvn_fs_fs/rep-cache.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/rep-cache.h?rev=1146525&r1=1146524&r2=1146525&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/rep-cache.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/rep-cache.h Thu Jul 14 00:25:10 2011
@@ -46,6 +46,8 @@ svn_fs_fs__walk_rep_reference(svn_fs_t *
svn_error_t *(*walker)(representation_t *rep,
svn_fs_t *fs,
apr_pool_t *scratch_pool),
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
apr_pool_t *pool);
/* Return the representation REP in FS which has fulltext CHECKSUM.