summaryrefslogtreecommitdiff
path: root/java/client
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 /java/client
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
Diffstat (limited to 'java/client')
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java11
1 files changed, 4 insertions, 7 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);
- }
}
}