Author: stefan2 Date: Sat Aug 2 19:16:34 2014 New Revision: 1615354 URL: http://svn.apache.org/r1615354 Log: Follow-up to 1612405: Fix mutex usage snafu in named atomics.
* subversion/libsvn_subr/named_atomic.c (lock): Take out and _keep_ the thread mutex. Found by: ivan Modified: subversion/trunk/subversion/libsvn_subr/named_atomic.c Modified: subversion/trunk/subversion/libsvn_subr/named_atomic.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/named_atomic.c?rev=1615354&r1=1615353&r2=1615354&view=diff ============================================================================== --- subversion/trunk/subversion/libsvn_subr/named_atomic.c (original) +++ subversion/trunk/subversion/libsvn_subr/named_atomic.c Sat Aug 2 19:16:34 2014 @@ -275,10 +275,14 @@ init_thread_mutex(void *baton, apr_pool_ static svn_error_t * lock(struct mutex_t *mutex) { - SVN_MUTEX__WITH_LOCK(thread_mutex, - svn_io__file_lock_autocreate(mutex->lock_name, - mutex->pool)); - return SVN_NO_ERROR; + svn_error_t *err; + SVN_ERR(svn_mutex__lock(thread_mutex)); + + err = svn_io__file_lock_autocreate(mutex->lock_name, mutex->pool); + if (err) + err = svn_mutex__unlock(thread_mutex, err); + + return svn_error_trace(err); } /* Utility that releases the lock previously acquired via lock(). If the