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/09 07:45:53 UTC
svn commit: r593431 - in
/mina/trunk/core/src/main/java/org/apache/mina/filter/executor:
OrderedThreadPoolExecutor.java UnorderedThreadPoolExecutor.java
Author: trustin
Date: Thu Nov 8 22:45:51 2007
New Revision: 593431
URL: http://svn.apache.org/viewvc?rev=593431&view=rev
Log:
* Made sure IoEventQueueHandler.polled() is called on shutdownNow()
* Disabled purge()
Modified:
mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
mina/trunk/core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java?rev=593431&r1=593430&r2=593431&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java Thu Nov 8 22:45:51 2007
@@ -260,7 +260,10 @@
SessionBuffer buf = (SessionBuffer) session.getAttribute(BUFFER);
synchronized (buf.queue) {
- answer.addAll(buf.queue);
+ for (Runnable task: buf.queue) {
+ getQueueHandler().polled(this, (IoEvent) task);
+ answer.add(task);
+ }
buf.queue.clear();
}
}
@@ -387,7 +390,7 @@
@Override
public BlockingQueue<Runnable> getQueue() {
- throw new UnsupportedOperationException("Please use getQueue(Runnable) instead.");
+ throw new UnsupportedOperationException();
}
@Override
@@ -404,9 +407,16 @@
return false;
}
+ boolean removed;
synchronized (buffer.queue) {
- return buffer.queue.remove(task);
+ removed = buffer.queue.remove(task);
+ }
+
+ if (removed) {
+ getQueueHandler().polled(this, e);
}
+
+ return removed;
}
@Override
Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java?rev=593431&r1=593430&r2=593431&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java Thu Nov 8 22:45:51 2007
@@ -259,6 +259,7 @@
continue;
}
+ getQueueHandler().polled(this, (IoEvent) task);
answer.add(task);
}
@@ -363,6 +364,19 @@
}
}
+ @Override
+ public void purge() {
+ }
+
+ @Override
+ public boolean remove(Runnable task) {
+ boolean removed = super.remove(task);
+ if (removed) {
+ getQueueHandler().polled(this, (IoEvent) task);
+ }
+ return removed;
+ }
+
@Override
public int getCorePoolSize() {
return corePoolSize;