[Mulgara-svn] r652 - branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver
ronald at mulgara.org
ronald at mulgara.org
Sun Feb 24 09:37:42 UTC 2008
Author: ronald
Date: 2008-02-24 01:37:38 -0800 (Sun, 24 Feb 2008)
New Revision: 652
Modified:
branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/MulgaraExternalTransactionFactory.java
branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/MulgaraInternalTransactionFactory.java
Log:
More synchronization fixes: one in code introduced in [651], one similar to
what was fixed in [649].
Modified: branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/MulgaraExternalTransactionFactory.java
===================================================================
--- branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/MulgaraExternalTransactionFactory.java 2008-02-23 14:07:43 UTC (rev 651)
+++ branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/MulgaraExternalTransactionFactory.java 2008-02-24 09:37:38 UTC (rev 652)
@@ -151,10 +151,15 @@
}
public void closingSession(DatabaseSession session) throws MulgaraTransactionException {
+ acquireMutex();
try {
- super.closingSession(session);
+ try {
+ super.closingSession(session);
+ } finally {
+ xaResources.remove(session);
+ }
} finally {
- xaResources.remove(session);
+ releaseMutex();
}
}
Modified: branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/MulgaraInternalTransactionFactory.java
===================================================================
--- branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/MulgaraInternalTransactionFactory.java 2008-02-23 14:07:43 UTC (rev 651)
+++ branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/MulgaraInternalTransactionFactory.java 2008-02-24 09:37:38 UTC (rev 652)
@@ -125,8 +125,13 @@
}
public Set<MulgaraTransaction> getTransactionsForSession(DatabaseSession session) {
- Set <MulgaraTransaction> xas = sessionXAMap.getN(session);
- return xas == null ? new HashSet<MulgaraTransaction>() : xas;
+ acquireMutex();
+ try {
+ Set <MulgaraTransaction> xas = sessionXAMap.getN(session);
+ return xas == null ? new HashSet<MulgaraTransaction>() : xas;
+ } finally {
+ releaseMutex();
+ }
}
public MulgaraTransaction newMulgaraTransaction(DatabaseOperationContext context)
More information about the Mulgara-svn
mailing list