Stefan Sperling <stsp_at_elego.de> writes:
>> --- subversion/libsvn_wc/lock.c (revision 903527)
>> +++ subversion/libsvn_wc/lock.c (working copy)
>> @@ -1857,9 +1857,10 @@
>> apr_pool_t *result_pool,
>> apr_pool_t *scratch_pool)
>> + svn_error_t *err1, *err2;
>> SVN_ERR(svn_wc__acquire_write_lock(NULL, wc_ctx, local_abspath,
>> scratch_pool, scratch_pool));
>> - return svn_error_compose_create(
>> - func(baton, result_pool, scratch_pool),
>> - svn_wc__release_write_lock(wc_ctx, local_abspath, scratch_pool));
>> + err1 = func(baton, result_pool, scratch_pool);
>> + err2 = svn_wc__release_write_lock(wc_ctx, local_abspath, scratch_pool);
>> + return svn_error_compose_create(err1, err2);
>> However, if I make that change I get several test failures:
> Are these related to the svn_wc_notify_t-related issues you found?
No, those were separate and are now fixed.
> Can we apply your patch to fix the ordering problem?
I think we should apply it, but the patch tests fail.
It raises the question: why are the patch tests taking a lock? They
seem to pass without the lock. Does this mean the lock is
unnecessary? Or does it mean that there is some code that requires a
lock but is not checking to make sure that a lock is held?
Received on 2010-01-27 11:36:34 CET