summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2011-09-21 16:01:10 +0000
committerKeith Wall <kwall@apache.org>2011-09-21 16:01:10 +0000
commit1d90b2638f50e067f5036c4832f7dbcae5b5a11d (patch)
tree088c0642aaec4552c66937c4cdd7b7bf8c4e738f /qpid/java
parentae30751196671c5c80598048e7321d610ef8b22e (diff)
downloadqpid-python-1d90b2638f50e067f5036c4832f7dbcae5b5a11d.tar.gz
QPID-3498: Broker race condition mean that it tries to respond before IoSender thread is running
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1173738 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkConnection.java2
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java4
2 files changed, 5 insertions, 1 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkConnection.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkConnection.java
index 52cc6363a9..bfc77539ce 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkConnection.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkConnection.java
@@ -54,8 +54,8 @@ public class IoNetworkConnection implements NetworkConnection
public void start()
{
- _ioReceiver.initiate();
_ioSender.initiate();
+ _ioReceiver.initiate();
}
public Sender<ByteBuffer> getSender()
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java
index 473d4d95ff..427487c879 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java
@@ -113,6 +113,10 @@ public final class IoSender implements Runnable, Sender<ByteBuffer>
{
throw new SenderClosedException("sender is closed", exception);
}
+ if(!senderThread.isAlive())
+ {
+ throw new SenderException("sender thread not alive");
+ }
final int size = buffer.length;
int remaining = buf.remaining();