summaryrefslogtreecommitdiff
path: root/java/client
diff options
context:
space:
mode:
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);
- }
}
}