You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/04/18 10:49:58 UTC

svn commit: r529922 - in /mina/trunk: core/src/main/java/org/apache/mina/common/ core/src/main/java/org/apache/mina/common/support/ core/src/main/java/org/apache/mina/handler/support/ core/src/test/java/org/apache/mina/common/support/ core/src/test/jav...

Author: trustin
Date: Wed Apr 18 01:49:56 2007
New Revision: 529922

URL: http://svn.apache.org/viewvc?view=rev&rev=529922
Log:
Resolved issue: DIRMINA-360 (Provide interruptable wait methods in IoFuture.)
* Added IoFuture.await(...) and IoFuture.awaitUninterruptibly(...)
* Deprecated IoFuture.join(...)


Modified:
    mina/trunk/core/src/main/java/org/apache/mina/common/DefaultWriteRequest.java
    mina/trunk/core/src/main/java/org/apache/mina/common/IoFuture.java
    mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java
    mina/trunk/core/src/main/java/org/apache/mina/handler/support/IoSessionOutputStream.java
    mina/trunk/core/src/test/java/org/apache/mina/common/support/FutureTest.java
    mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java
    mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractConnectorTest.java
    mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractTrafficControlTest.java
    mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConfigTest.java
    mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramRecyclerTest.java
    mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketBindTest.java
    mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeBindTest.java
    mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeEventOrderTest.java
    mina/trunk/example/src/main/java/org/apache/mina/example/chat/client/ChatClientSupport.java
    mina/trunk/example/src/main/java/org/apache/mina/example/httpserver/codec/ServerHandler.java
    mina/trunk/example/src/main/java/org/apache/mina/example/sumup/Client.java
    mina/trunk/example/src/main/java/org/apache/mina/example/tennis/Main.java
    mina/trunk/example/src/test/java/org/apache/mina/example/echoserver/ConnectorTest.java
    mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManager.java

Modified: mina/trunk/core/src/main/java/org/apache/mina/common/DefaultWriteRequest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/DefaultWriteRequest.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/DefaultWriteRequest.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/DefaultWriteRequest.java Wed Apr 18 01:49:56 2007
@@ -20,6 +20,7 @@
 package org.apache.mina.common;
 
 import java.net.SocketAddress;
+import java.util.concurrent.TimeUnit;
 
 /**
  * The default implementation of {@link WriteRequest}.
@@ -67,6 +68,28 @@
         public void removeListener( IoFutureListener listener )
         {
             throw new IllegalStateException( "You can't add a listener to a dummy future." );
+        }
+
+        public void await() throws InterruptedException {
+        }
+
+        public boolean await(long timeout, TimeUnit unit) throws InterruptedException {
+            return true;
+        }
+
+        public boolean await(long timeoutMillis) throws InterruptedException {
+            return true;
+        }
+
+        public void awaitUninterruptibly() {
+        }
+
+        public boolean awaitUninterruptibly(long timeout, TimeUnit unit) {
+            return true;
+        }
+
+        public boolean awaitUninterruptibly(long timeoutMillis) {
+            return true;
         }
     };
     

Modified: mina/trunk/core/src/main/java/org/apache/mina/common/IoFuture.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/IoFuture.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/IoFuture.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/IoFuture.java Wed Apr 18 01:49:56 2007
@@ -19,6 +19,8 @@
  */
 package org.apache.mina.common;
 
+import java.util.concurrent.TimeUnit;
+
 
 /**
  * Represents the result of an ashynchronous I/O operation.
@@ -36,14 +38,54 @@
     /**
      * Wait for the asynchronous operation to end.
      */
-    void join();
+    void await() throws InterruptedException;
+
+    /**
+     * Wait for the asynchronous operation to end with the specified timeout.
+     * 
+     * @return <tt>true</tt> if the operation is finished.
+     */
+    boolean await( long timeout, TimeUnit unit ) throws InterruptedException;
 
     /**
      * Wait for the asynchronous operation to end with the specified timeout.
      * 
      * @return <tt>true</tt> if the operation is finished.
      */
-    boolean join( long timeoutInMillis );
+    boolean await( long timeoutMillis ) throws InterruptedException;
+
+    /**
+     * Wait for the asynchronous operation to end uninterruptibly.
+     */
+    void awaitUninterruptibly();
+
+    /**
+     * Wait for the asynchronous operation to end with the specified timeout
+     * uninterruptibly.
+     * 
+     * @return <tt>true</tt> if the operation is finished.
+     */
+    boolean awaitUninterruptibly( long timeout, TimeUnit unit );
+
+    /**
+     * Wait for the asynchronous operation to end with the specified timeout
+     * uninterruptibly.
+     * 
+     * @return <tt>true</tt> if the operation is finished.
+     */
+    boolean awaitUninterruptibly( long timeoutMillis );
+    
+    /**
+     * @deprecated Replaced with {@link #awaitUninterruptibly()}.
+     */
+    @Deprecated
+    void join();
+    
+    /**
+     * @deprecated Replaced with {@link #awaitUninterruptibly(long)}.
+     */
+    @Deprecated
+    boolean join(long timeoutMillis);
 
     /**
      * Returns if the asynchronous operation is finished.

Modified: mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java Wed Apr 18 01:49:56 2007
@@ -21,6 +21,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.mina.common.IoFuture;
 import org.apache.mina.common.IoFutureListener;
@@ -56,7 +57,40 @@
         return session;
     }
     
-    public void join()
+    public void join() {
+        awaitUninterruptibly();
+    }
+    
+    public boolean join(long timeoutMillis) {
+        return awaitUninterruptibly(timeoutMillis);
+    }
+    
+    public void await() throws InterruptedException {
+        synchronized( lock )
+        {
+            while( !ready )
+            {
+                lock.wait();
+            }
+        }
+    }
+    
+    public boolean await(long timeout, TimeUnit unit) throws InterruptedException {
+        return await(unit.toMillis(timeout));
+    }
+    
+    public boolean await(long timeoutMillis) throws InterruptedException {
+        synchronized( lock )
+        {
+            if( !ready )
+            {
+                lock.wait(timeoutMillis);
+            }
+            return ready;
+        }
+    }
+    
+    public void awaitUninterruptibly()
     {
         synchronized( lock )
         {
@@ -72,12 +106,16 @@
             }
         }
     }
+    
+    public boolean awaitUninterruptibly( long timeout, TimeUnit unit) {
+        return awaitUninterruptibly(unit.toMillis(timeout));
+    }
 
-    public boolean join( long timeoutInMillis )
+    public boolean awaitUninterruptibly( long timeoutMillis )
     {
-        long startTime = ( timeoutInMillis <= 0 ) ? 0 : System
+        long startTime = ( timeoutMillis <= 0 ) ? 0 : System
                 .currentTimeMillis();
-        long waitTime = timeoutInMillis;
+        long waitTime = timeoutMillis;
         
         synchronized( lock )
         {
@@ -104,7 +142,7 @@
                     return true;
                 } else
                 {
-                    waitTime = timeoutInMillis - ( System.currentTimeMillis() - startTime );
+                    waitTime = timeoutMillis - ( System.currentTimeMillis() - startTime );
                     if( waitTime <= 0 )
                     {
                         return ready;

Modified: mina/trunk/core/src/main/java/org/apache/mina/handler/support/IoSessionOutputStream.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/handler/support/IoSessionOutputStream.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/handler/support/IoSessionOutputStream.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/handler/support/IoSessionOutputStream.java Wed Apr 18 01:49:56 2007
@@ -50,7 +50,7 @@
          try {
              flush();
          } finally {
-             session.close().join();
+             session.close().awaitUninterruptibly();
          }
     }
 
@@ -92,7 +92,7 @@
             return;
         }
         
-        lastWriteFuture.join();
+        lastWriteFuture.awaitUninterruptibly();
         if( !lastWriteFuture.isWritten() )
         {
             throw new IOException( "The bytes could not be written to the session" );

Modified: mina/trunk/core/src/test/java/org/apache/mina/common/support/FutureTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/common/support/FutureTest.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/common/support/FutureTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/common/support/FutureTest.java Wed Apr 18 01:49:56 2007
@@ -205,7 +205,7 @@
         @Override
         public void run()
         {
-            success = future.join( 10000 );
+            success = future.awaitUninterruptibly( 10000 );
         }
     }
 }

Modified: mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java Wed Apr 18 01:49:56 2007
@@ -28,6 +28,7 @@
 import java.util.LinkedList;
 import java.util.Queue;
 import java.util.Random;
+import java.util.concurrent.TimeUnit;
 
 import junit.framework.TestCase;
 
@@ -645,6 +646,29 @@
 
         public void removeListener( IoFutureListener listener )
         {
+        }
+
+        public void await() throws InterruptedException {
+            
+        }
+
+        public boolean await(long timeout, TimeUnit unit) throws InterruptedException {
+            return true;
+        }
+
+        public boolean await(long timeoutMillis) throws InterruptedException {
+            return true;
+        }
+
+        public void awaitUninterruptibly() {
+        }
+
+        public boolean awaitUninterruptibly(long timeout, TimeUnit unit) {
+            return true;
+        }
+
+        public boolean awaitUninterruptibly(long timeoutMillis) {
+            return true;
         }
     }
 }

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractConnectorTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractConnectorTest.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractConnectorTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractConnectorTest.java Wed Apr 18 01:49:56 2007
@@ -76,7 +76,7 @@
                 }
             });
             ConnectFuture future = connector.connect( new InetSocketAddress( "localhost", port ) );
-            future.join();
+            future.awaitUninterruptibly();
             buf.append("3");
             future.getSession().close();
             Assert.assertEquals( "123", buf.toString() );
@@ -114,7 +114,7 @@
             }
         });
         ConnectFuture future = connector.connect( new InetSocketAddress( "localhost", port ) );
-        future.join();
+        future.awaitUninterruptibly();
         buf.append("1");
         try
         {

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractTrafficControlTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractTrafficControlTest.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractTrafficControlTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractTrafficControlTest.java Wed Apr 18 01:49:56 2007
@@ -75,7 +75,7 @@
     public void testSuspendResumeReadWrite() throws Exception
     {
         ConnectFuture future = connect( port, new ClientIoHandler() );
-        future.join();
+        future.awaitUninterruptibly();
         IoSession session = future.getSession();
         
         // We wait for the sessionCreated() event is fired becayse we cannot guarentee that
@@ -148,7 +148,7 @@
         
         }
             
-        session.close().join();
+        session.close().awaitUninterruptibly();
     }
 
     private void write( IoSession session, String s ) throws Exception

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConfigTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConfigTest.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConfigTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramConfigTest.java Wed Apr 18 01:49:56 2007
@@ -75,10 +75,10 @@
         {
             connector.setHandler( new IoHandlerAdapter() );
             ConnectFuture future = connector.connect( new InetSocketAddress( "localhost", port ) );
-            future.join();
+            future.awaitUninterruptibly();
             
             WriteFuture writeFuture = future.getSession().write( ByteBuffer.allocate( 16 ).putInt( 0 ).flip() );
-            writeFuture.join();
+            writeFuture.awaitUninterruptibly();
             Assert.assertTrue( writeFuture.isWritten() );
             
             future.getSession().close();

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramRecyclerTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramRecyclerTest.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramRecyclerTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/DatagramRecyclerTest.java Wed Apr 18 01:49:56 2007
@@ -64,16 +64,16 @@
         {
             connector.setHandler( connectorHandler );
             ConnectFuture future = connector.connect( new InetSocketAddress( "localhost", port ) );
-            future.join();
+            future.awaitUninterruptibly();
             
             // Write whatever to trigger the acceptor.
-            future.getSession().write( ByteBuffer.allocate(1) ).join();
+            future.getSession().write( ByteBuffer.allocate(1) ).awaitUninterruptibly();
 
             // Close the client-side connection.
             // This doesn't mean that the acceptor-side connection is also closed.
             // The lifecycle of the acceptor-side connection is managed by the recycler.
             future.getSession().close();
-            future.getSession().getCloseFuture().join();
+            future.getSession().getCloseFuture().awaitUninterruptibly();
             Assert.assertTrue( future.getSession().getCloseFuture().isClosed() );
             
             // Wait until the acceptor-side connection is closed.
@@ -81,7 +81,7 @@
             {
                 Thread.yield();
             }
-            acceptorHandler.session.getCloseFuture().join( 3000 );
+            acceptorHandler.session.getCloseFuture().awaitUninterruptibly( 3000 );
             
             // Is it closed?
             Assert.assertTrue( acceptorHandler.session.getCloseFuture().isClosed() );

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketBindTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketBindTest.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketBindTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/socket/nio/SocketBindTest.java Wed Apr 18 01:49:56 2007
@@ -68,7 +68,7 @@
         for( int i = 0; i < sessions.length; i++ )
         {
             ConnectFuture future = connector.connect( new InetSocketAddress( "localhost", port ) );
-            future.join();
+            future.awaitUninterruptibly();
             sessions[ i ] = future.getSession();
             Assert.assertTrue( sessions[ i ].isConnected() );
         }

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeBindTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeBindTest.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeBindTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeBindTest.java Wed Apr 18 01:49:56 2007
@@ -69,7 +69,7 @@
         for( int i = 0; i < sessions.length; i++ )
         {
             ConnectFuture future = connector.connect( addr );
-            future.join();
+            future.awaitUninterruptibly();
             sessions[ i ] = future.getSession();
             Assert.assertTrue( sessions[ i ].isConnected() );
         }

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeEventOrderTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeEventOrderTest.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeEventOrderTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/vmpipe/VmPipeEventOrderTest.java Wed Apr 18 01:49:56 2007
@@ -88,8 +88,8 @@
 
         ConnectFuture future = connector.connect( new VmPipeAddress( 1 ) );
 
-        future.join();
-        future.getSession().getCloseFuture().join();
+        future.awaitUninterruptibly();
+        future.getSession().getCloseFuture().awaitUninterruptibly();
         acceptor.unbind();
         
         // sessionClosed() might not be invoked yet
@@ -154,8 +154,8 @@
 
         ConnectFuture future = connector.connect( new VmPipeAddress( 1 ) );
 
-        future.join();
-        future.getSession().getCloseFuture().join();
+        future.awaitUninterruptibly();
+        future.getSession().getCloseFuture().awaitUninterruptibly();
         acceptor.unbind();
         
         // sessionClosed() might not be invoked yet

Modified: mina/trunk/example/src/main/java/org/apache/mina/example/chat/client/ChatClientSupport.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/main/java/org/apache/mina/example/chat/client/ChatClientSupport.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/example/src/main/java/org/apache/mina/example/chat/client/ChatClientSupport.java (original)
+++ mina/trunk/example/src/main/java/org/apache/mina/example/chat/client/ChatClientSupport.java Wed Apr 18 01:49:56 2007
@@ -72,7 +72,7 @@
      
             connector.setHandler( handler );
             ConnectFuture future1 = connector.connect( address );
-            future1.join();
+            future1.awaitUninterruptibly();
             if( ! future1.isConnected() )
             {
                 return false;
@@ -106,7 +106,7 @@
             {
                 session.write( "QUIT" );
                 // Wait until the chat ends.
-                session.getCloseFuture().join();
+                session.getCloseFuture().awaitUninterruptibly();
             }
             session.close();
         }

Modified: mina/trunk/example/src/main/java/org/apache/mina/example/httpserver/codec/ServerHandler.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/main/java/org/apache/mina/example/httpserver/codec/ServerHandler.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/example/src/main/java/org/apache/mina/example/httpserver/codec/ServerHandler.java (original)
+++ mina/trunk/example/src/main/java/org/apache/mina/example/httpserver/codec/ServerHandler.java Wed Apr 18 01:49:56 2007
@@ -66,7 +66,7 @@
         // HttpResponseMessage.HTTP_STATUS_NOT_FOUND));
 
         if( response != null ) {
-            session.write( response ).join();
+            session.write( response ).awaitUninterruptibly();
         }
     }
 

Modified: mina/trunk/example/src/main/java/org/apache/mina/example/sumup/Client.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/main/java/org/apache/mina/example/sumup/Client.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/example/src/main/java/org/apache/mina/example/sumup/Client.java (original)
+++ mina/trunk/example/src/main/java/org/apache/mina/example/sumup/Client.java Wed Apr 18 01:49:56 2007
@@ -90,7 +90,7 @@
             {
                 ConnectFuture future = connector.connect(
                         new InetSocketAddress( HOSTNAME, PORT ) );
-                future.join();
+                future.awaitUninterruptibly();
                 session = future.getSession();
                 break;
             }
@@ -103,6 +103,6 @@
         }
 
         // wait until the summation is done
-        session.getCloseFuture().join();
+        session.getCloseFuture().awaitUninterruptibly();
     }
 }

Modified: mina/trunk/example/src/main/java/org/apache/mina/example/tennis/Main.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/main/java/org/apache/mina/example/tennis/Main.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/example/src/main/java/org/apache/mina/example/tennis/Main.java (original)
+++ mina/trunk/example/src/main/java/org/apache/mina/example/tennis/Main.java Wed Apr 18 01:49:56 2007
@@ -57,14 +57,14 @@
         VmPipeConnector connector = new VmPipeConnector();
         connector.setHandler( new TennisPlayer() );
         ConnectFuture future = connector.connect( address );
-        future.join();
+        future.awaitUninterruptibly();
         IoSession session = future.getSession();
 
         // Send the first ping message
         session.write( new TennisBall( 10 ) );
 
         // Wait until the match ends.
-        session.getCloseFuture().join();
+        session.getCloseFuture().awaitUninterruptibly();
         
         acceptor.unbind();
     }

Modified: mina/trunk/example/src/test/java/org/apache/mina/example/echoserver/ConnectorTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/test/java/org/apache/mina/example/echoserver/ConnectorTest.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/example/src/test/java/org/apache/mina/example/echoserver/ConnectorTest.java (original)
+++ mina/trunk/example/src/test/java/org/apache/mina/example/echoserver/ConnectorTest.java Wed Apr 18 01:49:56 2007
@@ -106,7 +106,7 @@
             connector.setHandler( handler );
             ConnectFuture future = connector.connect(
                     new InetSocketAddress( "localhost", port ) );
-            future.join();
+            future.awaitUninterruptibly();
             session = future.getSession();
         }
         else
@@ -121,7 +121,7 @@
                     ConnectFuture future = connector.connect(
                             new InetSocketAddress( "localhost", port ),
                             new InetSocketAddress( clientPort ) );
-                    future.join();
+                    future.awaitUninterruptibly();
                     session = future.getSession();
                     break;
                 }
@@ -143,7 +143,7 @@
         // Send closeNotify to test TLS closure if it is TLS connection.
         if( useSSL )
         {
-            connectorSSLFilter.stopSSL( session ).join();
+            connectorSSLFilter.stopSSL( session ).awaitUninterruptibly();
             
             System.out.println( "-------------------------------------------------------------------------------" );
             // Test again after we finished TLS session.
@@ -157,7 +157,7 @@
             ByteBuffer buf = ByteBuffer.allocate( 1 );
             buf.put( ( byte ) '.' );
             buf.flip();
-            session.write( buf ).join();
+            session.write( buf ).awaitUninterruptibly();
             
             //// Wait for StartTLS response.
             waitForResponse( handler, 1 );
@@ -171,7 +171,7 @@
             testConnector0( session );
         }
         
-        session.close().join();
+        session.close().awaitUninterruptibly();
     }
 
     private void testConnector0( IoSession session ) throws InterruptedException
@@ -196,7 +196,7 @@
             }
         }
         
-        writeFuture.join();
+        writeFuture.awaitUninterruptibly();
 
         waitForResponse( handler, DATA_SIZE * COUNT );
 

Modified: mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManager.java
URL: http://svn.apache.org/viewvc/mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManager.java?view=diff&rev=529922&r1=529921&r2=529922
==============================================================================
--- mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManager.java (original)
+++ mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManager.java Wed Apr 18 01:49:56 2007
@@ -97,7 +97,7 @@
      */
     public void close()
     {
-        session.close().join();
+        session.close().awaitUninterruptibly();
     }