You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2005/12/06 09:57:33 UTC

svn commit: r354376 - in /directory/network/trunk/src: java/org/apache/mina/common/support/ java/org/apache/mina/filter/codec/ java/org/apache/mina/filter/support/ test/org/apache/mina/common/ test/org/apache/mina/filter/ test/org/apache/mina/filter/co...

Author: trustin
Date: Tue Dec  6 00:57:23 2005
New Revision: 354376

URL: http://svn.apache.org/viewcvs?rev=354376&view=rev
Log:
Found a few deadlocks after resolving DIRMINA-138 - Deadlock in SSLFilter, and fixed them

Modified:
    directory/network/trunk/src/java/org/apache/mina/common/support/BaseIoSession.java
    directory/network/trunk/src/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
    directory/network/trunk/src/java/org/apache/mina/filter/support/SSLHandler.java
    directory/network/trunk/src/test/org/apache/mina/common/IoFilterChainTest.java
    directory/network/trunk/src/test/org/apache/mina/filter/ThreadPoolFilterRegressionTest.java
    directory/network/trunk/src/test/org/apache/mina/filter/codec/CumulativeProtocolDecoderTest.java

Modified: directory/network/trunk/src/java/org/apache/mina/common/support/BaseIoSession.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/common/support/BaseIoSession.java?rev=354376&r1=354375&r2=354376&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/common/support/BaseIoSession.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/common/support/BaseIoSession.java Tue Dec  6 00:57:23 2005
@@ -119,13 +119,14 @@
     
     public synchronized WriteFuture write( Object message )
     {
-        WriteFuture future = new WriteFuture();
+        WriteFuture future;
         if( isClosing() || !isConnected() )
         {
-            future.setWritten( false );
+            future = WriteFuture.newNotWrittenFuture();
         }
         else
         {
+            future = new WriteFuture( this );
             write0( new WriteRequest( message, future ) );
         }
         return future;

Modified: directory/network/trunk/src/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java?rev=354376&r1=354375&r2=354376&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java Tue Dec  6 00:57:23 2005
@@ -289,7 +289,7 @@
             }
             else
             {
-                future = new WriteFuture();
+                future = new WriteFuture( session );
                 nextFilter.filterWrite( session, new WriteRequest( buf, future ) );
             }
             return future;

Modified: directory/network/trunk/src/java/org/apache/mina/filter/support/SSLHandler.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/filter/support/SSLHandler.java?rev=354376&r1=354375&r2=354376&view=diff
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/filter/support/SSLHandler.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/filter/support/SSLHandler.java Tue Dec  6 00:57:23 2005
@@ -511,7 +511,7 @@
             }
             //debug("outNetBuffer (after copy): {0}", sslHandler.getOutNetBuffer());
             
-            writeFuture = new WriteFuture();
+            writeFuture = new WriteFuture( session );
             parent.filterWrite( nextFilter, session, new WriteRequest( writeBuffer, writeFuture ) );
 
             // loop while more writes required to complete handshake
@@ -535,7 +535,7 @@
                         SessionLog.debug( session, " write outNetBuffer2: " + getOutNetBuffer() );
                     }
                     org.apache.mina.common.ByteBuffer writeBuffer2 = copy( getOutNetBuffer() );
-                    writeFuture = new WriteFuture();
+                    writeFuture = new WriteFuture( session );
                     parent.filterWrite( nextFilter, session, new WriteRequest( writeBuffer2, writeFuture ) );
                 }
             }

Modified: directory/network/trunk/src/test/org/apache/mina/common/IoFilterChainTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/common/IoFilterChainTest.java?rev=354376&r1=354375&r2=354376&view=diff
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/common/IoFilterChainTest.java (original)
+++ directory/network/trunk/src/test/org/apache/mina/common/IoFilterChainTest.java Tue Dec  6 00:57:23 2005
@@ -255,10 +255,6 @@
             return null;
         }
 
-        public WriteFuture write(Object message) {
-            return null;
-        }
-
         public TransportType getTransportType() {
             return TransportType.VM_PIPE;
         }

Modified: directory/network/trunk/src/test/org/apache/mina/filter/ThreadPoolFilterRegressionTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/filter/ThreadPoolFilterRegressionTest.java?rev=354376&r1=354375&r2=354376&view=diff
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/filter/ThreadPoolFilterRegressionTest.java (original)
+++ directory/network/trunk/src/test/org/apache/mina/filter/ThreadPoolFilterRegressionTest.java Tue Dec  6 00:57:23 2005
@@ -152,11 +152,6 @@
             return null;
         }
 
-        public WriteFuture write( Object message )
-        {
-            return null;
-        }
-
         public CloseFuture close()
         {
             return null;
@@ -261,11 +256,6 @@
         }
 
         public IoFilterChain getFilterChain()
-        {
-            return null;
-        }
-
-        public WriteFuture write( Object message )
         {
             return null;
         }

Modified: directory/network/trunk/src/test/org/apache/mina/filter/codec/CumulativeProtocolDecoderTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/filter/codec/CumulativeProtocolDecoderTest.java?rev=354376&r1=354375&r2=354376&view=diff
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/filter/codec/CumulativeProtocolDecoderTest.java (original)
+++ directory/network/trunk/src/test/org/apache/mina/filter/codec/CumulativeProtocolDecoderTest.java Tue Dec  6 00:57:23 2005
@@ -32,7 +32,6 @@
 import org.apache.mina.common.IoSession;
 import org.apache.mina.common.IoSessionManager;
 import org.apache.mina.common.TransportType;
-import org.apache.mina.common.WriteFuture;
 import org.apache.mina.common.support.BaseIoSession;
 
 /**
@@ -195,10 +194,6 @@
         }
 
         public CloseFuture close() {
-            return null;
-        }
-
-        public WriteFuture write( Object message ) {
             return null;
         }