From fd2c95e9bc816f708638daeefa86f20f3ae379b1 Mon Sep 17 00:00:00 2001 From: Robert Davies Date: Fri, 23 Nov 2007 07:51:02 +0000 Subject: [PATCH] Fix for https://issues.apache.org/activemq/browse/AMQ-1491 git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@597582 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/activemq/transport/tcp/TcpTransport.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransport.java b/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransport.java index 281dce0c76..183d5fd39e 100755 --- a/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransport.java +++ b/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransport.java @@ -104,6 +104,7 @@ public class TcpTransport extends TransportThreadSupport implements Transport, S private Map socketOptions; private Boolean keepAlive; private Boolean tcpNoDelay; + private Thread runnerThread; /** * Connect to a remote Node - e.g. a Broker @@ -165,6 +166,7 @@ public class TcpTransport extends TransportThreadSupport implements Transport, S */ public void run() { LOG.trace("TCP consumer thread starting"); + this.runnerThread=Thread.currentThread(); try { while (!isStopped()) { doRun(); @@ -436,7 +438,7 @@ public class TcpTransport extends TransportThreadSupport implements Transport, S public void stop() throws Exception { super.stop(); CountDownLatch countDownLatch = stoppedLatch.get(); - if (countDownLatch != null) { + if (countDownLatch != null && Thread.currentThread() != this.runnerThread) { countDownLatch.await(); } }