diff options
Diffstat (limited to 'java/client')
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java | 11 |
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); - } } } |
