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/03/22 19:07:23 UTC
svn commit: r640033 -
/mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoConnector.java
Author: trustin
Date: Sat Mar 22 11:07:23 2008
New Revision: 640033
URL: http://svn.apache.org/viewvc?rev=640033&view=rev
Log:
Fixed the same problem that calls wakeup() after disposal in AbstractPollingIoConnector
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoConnector.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoConnector.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoConnector.java?rev=640033&r1=640032&r2=640033&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoConnector.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoConnector.java Sat Mar 22 11:07:23 2008
@@ -62,11 +62,11 @@
private AbstractPollingIoConnector(IoSessionConfig sessionConfig, Executor executor, IoProcessor<T> processor, boolean createdProcessor) {
super(sessionConfig, executor);
-
+
if (processor == null) {
throw new NullPointerException("processor");
}
-
+
this.processor = processor;
this.createdProcessor = createdProcessor;
@@ -292,7 +292,7 @@
}
}
}
-
+
if (selectable && isDisposing()) {
selectable = false;
try {
@@ -301,7 +301,11 @@
}
} finally {
try {
- destroy();
+ synchronized (disposalLock) {
+ if (isDisposing()) {
+ destroy();
+ }
+ }
} catch (Exception e) {
ExceptionMonitor.getInstance().exceptionCaught(e);
} finally {
@@ -339,7 +343,7 @@
public IoSessionInitializer<? extends ConnectFuture> getSessionInitializer() {
return sessionInitializer;
}
-
+
@Override
public void cancel() {
super.cancel();