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

ronald at mulgara.org ronald at mulgara.org
Fri Jun 6 06:35:09 UTC 2008


Author: ronald
Date: 2008-06-05 23:35:08 -0700 (Thu, 05 Jun 2008)
New Revision: 978

Modified:
   trunk/src/jar/resolver/java/org/mulgara/resolver/MulgaraTransactionFactory.java
Log:
Fix exception while closing a session: under normal processing the write-lock
will get released, and if somebody else is waiting for it they may get it
immediately. So by the time we reach the safety net somebody else may own the
write lock, causing releaseWriteLock to throw an exception.


Modified: trunk/src/jar/resolver/java/org/mulgara/resolver/MulgaraTransactionFactory.java
===================================================================
--- trunk/src/jar/resolver/java/org/mulgara/resolver/MulgaraTransactionFactory.java	2008-06-06 05:41:21 UTC (rev 977)
+++ trunk/src/jar/resolver/java/org/mulgara/resolver/MulgaraTransactionFactory.java	2008-06-06 06:35:08 UTC (rev 978)
@@ -133,7 +133,8 @@
               }
             }
           } finally {
-            manager.releaseWriteLock(session);
+            if (manager.isHoldingWriteLock(session))    // normally this will have been released
+              manager.releaseWriteLock(session);
           }
         } else {
           logger.debug("Session does not hold write-lock");




More information about the Mulgara-svn mailing list