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();


Reply via email to