Author: toad
Date: 2009-02-25 18:24:20 +0000 (Wed, 25 Feb 2009)
New Revision: 25815
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
Log:
Wake up after adding first item to starter queue, and when returning if we have
added stuff.
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
2009-02-25 18:21:21 UTC (rev 25814)
+++ branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
2009-02-25 18:24:20 UTC (rev 25815)
@@ -671,7 +671,6 @@
private void fillRequestStarterQueue(ObjectContainer container,
ClientContext context, SendableRequest[] mightBeActive) {
if(logMINOR) Logger.minor(this, "Filling request queue...
(SSK="+isSSKScheduler+" insert="+isInsertScheduler);
- boolean wakeUp = false;
long noLaterThan = Long.MAX_VALUE;
noLaterThan =
moveKeysFromCooldownQueue(persistentCooldownQueue, true, container);
noLaterThan = Math.min(noLaterThan,
moveKeysFromCooldownQueue(transientCooldownQueue, false, container));
@@ -728,7 +727,6 @@
}
}
if(finished) {
- if(wakeUp) starter.wakeUp();
return;
}
@@ -747,14 +745,18 @@
nextQueueFillRequestStarterQueue = System.currentTimeMillis() +
WAIT_AFTER_NOTHING_TO_START;
}
}
- if(wakeUp) starter.wakeUp();
+ if(added) starter.wakeUp();
return;
}
- added = true;
boolean full = addToStarterQueue(request, container);
container.deactivate(request, 1);
- starter.wakeUp();
- if(full) return;
+ boolean wasAdded = added;
+ if(!added) starter.wakeUp();
+ added = true;
+ if(full) {
+ if(wasAdded) starter.wakeUp();
+ return;
+ }
}
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs