diff options
author | Aidan Skinner <aidan@apache.org> | 2008-03-20 11:29:56 +0000 |
---|---|---|
committer | Aidan Skinner <aidan@apache.org> | 2008-03-20 11:29:56 +0000 |
commit | d9b578a4ec0a73e3c738610a6a6d79955a07a5bd (patch) | |
tree | c4a089a3d8a76753d1a9d8f635e0c6ade7660e9c | |
parent | 366119ef91daf5400e15eccb29841641c680b98a (diff) | |
download | qpid-python-d9b578a4ec0a73e3c738610a6a6d79955a07a5bd.tar.gz |
QPID-854 Resynchronise the _acceptor so that we don't hang
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2.1@639251 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java | 11 | ||||
-rw-r--r-- | java/systests/src/main/java/org/apache/qpid/test/FailoverBaseCase.java | 2 |
2 files changed, 5 insertions, 8 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java b/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java index 2a5365c322..7ae2ddf66c 100644 --- a/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java +++ b/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java @@ -332,21 +332,18 @@ public class TransportConnection public static void killVMBroker(int port) { - VmPipeAddress pipe; synchronized (_inVmPipeAddress) { - pipe = (VmPipeAddress) _inVmPipeAddress.get(port); + VmPipeAddress pipe = (VmPipeAddress) _inVmPipeAddress.get(port); if (pipe != null) { _logger.info("Killing VM Broker:" + port); _inVmPipeAddress.remove(port); + // This does need to be sychronized as otherwise mina can hang + // if a new connection is made + _acceptor.unbind(pipe); } } - //This doesn't need to be sychronized - if (pipe != null) - { - _acceptor.unbind(pipe); - } } } diff --git a/java/systests/src/main/java/org/apache/qpid/test/FailoverBaseCase.java b/java/systests/src/main/java/org/apache/qpid/test/FailoverBaseCase.java index 1e8d0fd41e..4dd957c121 100644 --- a/java/systests/src/main/java/org/apache/qpid/test/FailoverBaseCase.java +++ b/java/systests/src/main/java/org/apache/qpid/test/FailoverBaseCase.java @@ -37,7 +37,7 @@ public class FailoverBaseCase extends VMTestCase public void setUp() throws Exception { // Make Broker 2 the first one so we can kill it and allow VMTestCase to clean up vm://:1 - _brokerlist = "vm://:2?connectdelay='150';vm://:1?connectdelay='150'"; + _brokerlist = "vm://:2;vm://:1"; _clientID = this.getClass().getName(); _virtualhost = "/test"; |