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 2008/05/15 09:48:45 UTC

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

Author: trustin
Date: Thu May 15 00:48:44 2008
New Revision: 656530

URL: http://svn.apache.org/viewvc?rev=656530&view=rev
Log:
Resolved issue: DIRMINA-584 (Using apr-transport crashes jvm on Linux)
* Made sure a socket is destroyed only once

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=656530&r1=656529&r2=656530&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 Thu May 15 00:48:44 2008
@@ -227,7 +227,11 @@
 
     @Override
     protected void destroy(AprSession session) throws Exception {
-        allSessions.remove(session.getDescriptor());
+        if (allSessions.remove(session.getDescriptor()) == null) {
+            // Already destroyed.
+            return;
+        }
+
         int ret = Poll.remove(pollset, session.getDescriptor());
         try {
             if (ret != Status.APR_SUCCESS) {