summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2012-06-11 22:41:27 +0000
committerKeith Wall <kwall@apache.org>2012-06-11 22:41:27 +0000
commitd5c1bb4246155216d0ede33376ee96e9be72ea12 (patch)
tree3af97abc3afa3c79c4ccedb5c26731aee53a8e1b
parent35f30ce23af989b23b57a50f2c4b97bf486b1d64 (diff)
downloadqpid-python-d5c1bb4246155216d0ede33376ee96e9be72ea12.tar.gz
QPID-4044: Synchronise DtxRegistry#commit and #rollback to eliminate the possibility of deadlock
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1349055 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/txn/DtxRegistry.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/txn/DtxRegistry.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/txn/DtxRegistry.java
index 5c54c1164f..e3bc076d72 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/txn/DtxRegistry.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/txn/DtxRegistry.java
@@ -116,7 +116,7 @@ public class DtxRegistry
return (_branches.remove(new ComparableXid(branch.getXid())) != null);
}
- public void commit(Xid id, boolean onePhase)
+ public synchronized void commit(Xid id, boolean onePhase)
throws IncorrectDtxStateException, UnknownDtxBranchException, AMQStoreException, RollbackOnlyDtxException, TimeoutDtxException
{
DtxBranch branch = getBranch(id);
@@ -204,7 +204,7 @@ public class DtxRegistry
}
}
- public void rollback(Xid id)
+ public synchronized void rollback(Xid id)
throws IncorrectDtxStateException,
UnknownDtxBranchException,
AMQStoreException, TimeoutDtxException