summaryrefslogtreecommitdiff
path: root/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java')
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java9
1 files changed, 7 insertions, 2 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 78b54a8de9..2a5365c322 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,16 +332,21 @@ public class TransportConnection
public static void killVMBroker(int port)
{
+ VmPipeAddress pipe;
synchronized (_inVmPipeAddress)
{
- VmPipeAddress pipe = (VmPipeAddress) _inVmPipeAddress.get(port);
+ pipe = (VmPipeAddress) _inVmPipeAddress.get(port);
if (pipe != null)
{
_logger.info("Killing VM Broker:" + port);
_inVmPipeAddress.remove(port);
- _acceptor.unbind(pipe);
}
}
+ //This doesn't need to be sychronized
+ if (pipe != null)
+ {
+ _acceptor.unbind(pipe);
+ }
}
}