summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAidan Skinner <aidan@apache.org>2008-03-20 11:29:56 +0000
committerAidan Skinner <aidan@apache.org>2008-03-20 11:29:56 +0000
commitd9b578a4ec0a73e3c738610a6a6d79955a07a5bd (patch)
treec4a089a3d8a76753d1a9d8f635e0c6ade7660e9c
parent366119ef91daf5400e15eccb29841641c680b98a (diff)
downloadqpid-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.java11
-rw-r--r--java/systests/src/main/java/org/apache/qpid/test/FailoverBaseCase.java2
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";