[Mulgara-svn] r331 - trunk/src/jar/resolver/java/org/mulgara/resolver

ronald at mulgara.org ronald at mulgara.org
Sat Aug 4 21:54:50 UTC 2007


Author: ronald
Date: 2007-08-04 16:54:50 -0500 (Sat, 04 Aug 2007)
New Revision: 331

Modified:
   trunk/src/jar/resolver/java/org/mulgara/resolver/MulgaraTransactionManager.java
Log:
Invert logic of writeLockReserved() to better match the method name. At least
I found the original confusing it made the locking bug harder to see.


Modified: trunk/src/jar/resolver/java/org/mulgara/resolver/MulgaraTransactionManager.java
===================================================================
--- trunk/src/jar/resolver/java/org/mulgara/resolver/MulgaraTransactionManager.java	2007-08-02 21:11:52 UTC (rev 330)
+++ trunk/src/jar/resolver/java/org/mulgara/resolver/MulgaraTransactionManager.java	2007-08-04 21:54:50 UTC (rev 331)
@@ -167,7 +167,7 @@
    */
   private MulgaraTransaction obtainWriteLock(DatabaseSession session)
       throws MulgaraTransactionException {
-    while (currentWritingSession != null && !writeLockReserved()) {
+    while (currentWritingSession != null && writeLockReserved()) {
       try {
         writeLockCondition.await();
       } catch (InterruptedException ei) {
@@ -552,7 +552,7 @@
   }
 
   private boolean writeLockReserved() {
-    return reservingThread == null || Thread.currentThread().equals(reservingThread);
+    return reservingThread != null && !Thread.currentThread().equals(reservingThread);
   }
 
   private void releaseMutex() {




More information about the Mulgara-svn mailing list