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.