Author: jvermillard
Date: Fri Jun  6 01:23:38 2008
New Revision: 663852

URL: http://svn.apache.org/viewvc?rev=663852&view=rev
Log:
Applying Geoff Cadien patch for fixing destruction of APR sockets. See 
DIRMINA-584

Modified:
    
mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java
    
mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSession.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=663852&r1=663851&r2=663852&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 Jun  6 01:23:38 2008
@@ -238,6 +238,12 @@
             }
         } finally {
             ret = Socket.close(session.getDescriptor());
+            
+               // destroying the session because it won't be reused 
+            // after this point
+            Socket.destroy(session.getDescriptor());
+            session.setDescriptor(0);
+            
             if (ret != Status.APR_SUCCESS) {
                 throwException(ret);
             }

Modified: 
mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSession.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSession.java?rev=663852&r1=663851&r2=663852&view=diff
==============================================================================
--- 
mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSession.java
 (original)
+++ 
mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSession.java
 Fri Jun  6 01:23:38 2008
@@ -38,7 +38,7 @@
  * @version $Rev$, $Date$
  */
 public abstract class AprSession extends AbstractIoSession {
-    private final long descriptor;
+    private long descriptor;
 
     private final IoService service;
     private final IoProcessor<AprSession> processor;
@@ -89,6 +89,10 @@
         return descriptor;
     }
 
+    void setDescriptor(long desc) {
+       this.descriptor = desc;
+    }
+
     @Override
     protected IoProcessor<AprSession> getProcessor() {
         return processor;


Reply via email to