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/02/14 11:30:40 UTC

svn commit: r507470 - in /mina: branches/1.0/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java branches/1.1/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java trunk/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java

Author: trustin
Date: Wed Feb 14 02:30:39 2007
New Revision: 507470

URL: http://svn.apache.org/viewvc?view=rev&rev=507470
Log:
Fixed issue: DIRMINA-347 (Server: StreamIoHandler does not close InputStream and OutputStream on sessionClosed())
* Applied Eric Fitchett's patch
** the try-finally block looks a little bit weird, but it will do the job


Modified:
    mina/branches/1.0/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java
    mina/branches/1.1/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java
    mina/trunk/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java

Modified: mina/branches/1.0/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java
URL: http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java?view=diff&rev=507470&r1=507469&r2=507470
==============================================================================
--- mina/branches/1.0/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java (original)
+++ mina/branches/1.0/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java Wed Feb 14 02:30:39 2007
@@ -116,6 +116,23 @@
         session.setAttribute( KEY_OUT, out );
         processStreamIo( session, in, out );
     }
+
+    /**
+     * Closes streams
+     */
+    public void sessionClosed( IoSession session ) throws Exception
+    {
+        final InputStream in = ( InputStream ) session.getAttribute( KEY_IN );
+        final OutputStream out = ( OutputStream ) session.getAttribute( KEY_OUT );
+        try
+        {
+            in.close();
+        }
+        finally
+        {
+            out.close();
+        }
+    }
     
     /**
      * Forwards read data to input stream.

Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java?view=diff&rev=507470&r1=507469&r2=507470
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java Wed Feb 14 02:30:39 2007
@@ -116,6 +116,23 @@
         session.setAttribute( KEY_OUT, out );
         processStreamIo( session, in, out );
     }
+
+    /**
+     * Closes streams
+     */
+    public void sessionClosed( IoSession session ) throws Exception
+    {
+        final InputStream in = ( InputStream ) session.getAttribute( KEY_IN );
+        final OutputStream out = ( OutputStream ) session.getAttribute( KEY_OUT );
+        try
+        {
+            in.close();
+        }
+        finally
+        {
+            out.close();
+        }
+    }
     
     /**
      * Forwards read data to input stream.

Modified: mina/trunk/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java?view=diff&rev=507470&r1=507469&r2=507470
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/handler/StreamIoHandler.java Wed Feb 14 02:30:39 2007
@@ -116,6 +116,23 @@
         session.setAttribute( KEY_OUT, out );
         processStreamIo( session, in, out );
     }
+
+    /**
+     * Closes streams
+     */
+    public void sessionClosed( IoSession session ) throws Exception
+    {
+        final InputStream in = ( InputStream ) session.getAttribute( KEY_IN );
+        final OutputStream out = ( OutputStream ) session.getAttribute( KEY_OUT );
+        try
+        {
+            in.close();
+        }
+        finally
+        {
+            out.close();
+        }
+    }
     
     /**
      * Forwards read data to input stream.