From 18592d9edcccd29cbe5989acd06e7f15d458fd84 Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Tue, 12 Feb 2008 22:22:20 +0000 Subject: synchronize access to lastWrite future git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@627154 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/qpidity/transport/network/mina/MinaSender.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'java/common') diff --git a/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java b/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java index 17ae7ea0f7..f0f5731037 100644 --- a/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java +++ b/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java @@ -51,16 +51,23 @@ public class MinaSender implements Sender { throw new TransportException("attempted to write to a closed socket"); } - lastWrite = session.write(ByteBuffer.wrap(buf)); + + synchronized (this) + { + lastWrite = session.write(ByteBuffer.wrap(buf)); + } } - public void close() + public synchronized void close() { // MINA will sometimes throw away in-progress writes when you // ask it to close - if (lastWrite != null) + synchronized (this) { - lastWrite.join(); + if (lastWrite != null) + { + lastWrite.join(); + } } CloseFuture closed = session.close(); closed.join(); -- cgit v1.2.1