summaryrefslogtreecommitdiff
path: root/java
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
commit2a186a68e790878a687877410fb892ee2516cab2 (patch)
treef4fbcbcb2a061e42e9ffcfcd444bed84bf8ec1d6 /java
parentd24055c83ac565cb1a54d6449f849f60a4471542 (diff)
downloadqpid-python-2a186a68e790878a687877410fb892ee2516cab2.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/qpid@1349055 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/txn/DtxRegistry.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/txn/DtxRegistry.java b/java/broker/src/main/java/org/apache/qpid/server/txn/DtxRegistry.java
index 5c54c1164f..e3bc076d72 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/txn/DtxRegistry.java
+++ b/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