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;