Author: rhs
Date: Tue Feb 12 14:22:20 2008
New Revision: 627154
URL: http://svn.apache.org/viewvc?rev=627154&view=rev
Log:
synchronize access to lastWrite future
Modified:
incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java
Modified:
incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java?rev=627154&r1=627153&r2=627154&view=diff
==============================================================================
---
incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java
(original)
+++
incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java
Tue Feb 12 14:22:20 2008
@@ -51,16 +51,23 @@
{
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();