You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by cm...@apache.org on 2010/11/17 18:58:32 UTC

svn commit: r1036142 - /subversion/trunk/subversion/svnrdump/load_editor.c

Author: cmpilato
Date: Wed Nov 17 17:58:32 2010
New Revision: 1036142

URL: http://svn.apache.org/viewvc?rev=1036142&view=rev
Log:
Add some more cancellation checks to 'svnrdump load'.

* subversion/svnrdump/load_editor.c
  (get_lock): Add 'cancel_func' and 'cancel_baton' parameters, and
    check for cancellation while looping for lock acquisition.
  (drive_dumpstream_loader): Update call to get_lock().

Modified:
    subversion/trunk/subversion/svnrdump/load_editor.c

Modified: subversion/trunk/subversion/svnrdump/load_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svnrdump/load_editor.c?rev=1036142&r1=1036141&r2=1036142&view=diff
==============================================================================
--- subversion/trunk/subversion/svnrdump/load_editor.c (original)
+++ subversion/trunk/subversion/svnrdump/load_editor.c Wed Nov 17 17:58:32 2010
@@ -73,6 +73,8 @@ static svn_boolean_t is_atomicity_error(
 static svn_error_t *
 get_lock(const svn_string_t **lock_string_p,
          svn_ra_session_t *session,
+         svn_cancel_func_t cancel_func,
+         void *cancel_baton,
          apr_pool_t *pool)
 {
   char hostname_str[APRMAXHOSTLEN + 1] = { 0 };
@@ -115,6 +117,7 @@ get_lock(const svn_string_t **lock_strin
 
       svn_pool_clear(subpool);
 
+      SVN_ERR(cancel_func(cancel_baton));
       SVN_ERR(svn_ra_rev_prop(session, 0, SVNRDUMP_PROP_LOCK, &reposlocktoken,
                               subpool));
 
@@ -675,7 +678,7 @@ drive_dumpstream_loader(svn_stream_t *st
                                 SVN_RA_CAPABILITY_ATOMIC_REVPROPS,
                                 pool));
 
-  SVN_ERR(get_lock(&lock_string, session, pool));
+  SVN_ERR(get_lock(&lock_string, session, cancel_func, cancel_baton, pool));
   SVN_ERR(svn_ra_get_repos_root2(session, &(pb->root_url), pool));
   SVN_ERR(svn_repos_parse_dumpstream2(stream, parser, parse_baton,
                                       cancel_func, cancel_baton, pool));