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) {