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/11/30 12:43:03 UTC

svn commit: r599788 - /mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java

Author: trustin
Date: Fri Nov 30 03:42:57 2007
New Revision: 599788

URL: http://svn.apache.org/viewvc?rev=599788&view=rev
Log:
Fixed FD leak in AprIoProcessor

Modified:
    mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java

Modified: mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java
URL: http://svn.apache.org/viewvc/mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java?rev=599788&r1=599787&r2=599788&view=diff
==============================================================================
--- mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java (original)
+++ mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java Fri Nov 30 03:42:57 2007
@@ -222,15 +222,14 @@
     protected void destroy(AprSession session) throws Exception {
         allSessions.remove(session.getDescriptor());
         int ret = Poll.remove(pollset, session.getDescriptor());
-        if (ret != Status.APR_SUCCESS) {
-            try {
+        try {
+            if (ret != Status.APR_SUCCESS) {
+                throwException(ret);
+            }
+        } finally {
+            ret = Socket.close(session.getDescriptor());
+            if (ret != Status.APR_SUCCESS) {
                 throwException(ret);
-            } finally {
-                System.out.println("CLOSE");
-                ret = Socket.close(session.getDescriptor());
-                if (ret != Status.APR_SUCCESS) {
-                    throwException(ret);
-                }
             }
         }
     }