Author: stefan2
Date: Wed Aug 20 10:47:18 2014
New Revision: 1619070

URL: http://svn.apache.org/r1619070
Log:
Explicitly state the limitations of our freeze API.  Since r1619068,
we can't error out on these conditions anymore.  No functional change.

* subversion/include/svn_fs.h
  (svn_fs_freeze): List limitations an their implications.

* subversion/include/svn_repos.h
  (svn_repos_freeze): Same.

Modified:
    subversion/trunk/subversion/include/svn_fs.h
    subversion/trunk/subversion/include/svn_repos.h

Modified: subversion/trunk/subversion/include/svn_fs.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_fs.h?rev=1619070&r1=1619069&r2=1619070&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_fs.h (original)
+++ subversion/trunk/subversion/include/svn_fs.h Wed Aug 20 10:47:18 2014
@@ -579,6 +579,11 @@ typedef svn_error_t *(*svn_fs_freeze_fun
  * Take an exclusive lock on @a fs to prevent commits and then invoke
  * @a freeze_func passing @a freeze_baton.
  *
+ * @note @a freeze_func must not, directly or indirectly, call any function
+ * that attempts to take out a lock on the underlying repository.  These
+ * include functions for packing, hotcopying, setting revprops and commits.
+ * Attempts to do so may result in a deadlock.
+ *
  * @note The BDB backend doesn't implement this feature so most
  * callers should not call this function directly but should use the
  * higher level svn_repos_freeze() instead.

Modified: subversion/trunk/subversion/include/svn_repos.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_repos.h?rev=1619070&r1=1619069&r2=1619070&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_repos.h (original)
+++ subversion/trunk/subversion/include/svn_repos.h Wed Aug 20 10:47:18 2014
@@ -813,6 +813,11 @@ typedef svn_error_t *(*svn_repos_freeze_
  * FS backend the repository uses.  Repositories are locked in the
  * order in which they are specified in the array.
  *
+ * @note @a freeze_func must not, directly or indirectly, call any function
+ * that attempts to take out a lock on the underlying repository.  These
+ * include functions for packing, hotcopying, setting revprops and commits.
+ * Attempts to do so may result in a deadlock.
+ *
  * @note On some platforms the exclusive lock does not exclude other
  * threads in the same process so this function should only be called
  * by a single threaded process, or by a multi-threaded process when


Reply via email to