Author: toad
Date: 2008-05-30 00:00:22 +0000 (Fri, 30 May 2008)
New Revision: 20142
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
Log:
addPendingKey() must be called on the database thread, therefore doesn't need
to schedule a job
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
2008-05-29 23:58:05 UTC (rev 20141)
+++ branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
2008-05-30 00:00:22 UTC (rev 20142)
@@ -233,15 +233,10 @@
void addPendingKey(final ClientKey key, final SendableGet getter) {
if(getter.persistent()) {
- databaseExecutor.execute(new Runnable() {
- public void run() {
- try {
- schedCore.addPendingKey(key,
getter);
- } catch (Throwable t) {
- Logger.error(this, "Caught "+t,
t);
- }
- }
- }, "Add pending key");
+ if(!databaseExecutor.onThread()) {
+ throw new IllegalStateException("Not on
database thread!");
+ }
+ schedCore.addPendingKey(key, getter);
} else
schedTransient.addPendingKey(key, getter);
}