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


Reply via email to