Author: toad
Date: 2009-04-09 13:07:52 +0000 (Thu, 09 Apr 2009)
New Revision: 26674
Modified:
trunk/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
trunk/freenet/src/freenet/client/async/ClientRequestSchedulerNonPersistent.java
Log:
No recentSuccesses for inserts. Fixes NPE in selecting inserts. :|
Modified: trunk/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
2009-04-09 10:19:17 UTC (rev 26673)
+++ trunk/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
2009-04-09 13:07:52 UTC (rev 26674)
@@ -498,7 +498,7 @@
* FIXME: Only replaces persistent requests
with persistent requests (of similar priority and retry count), or transient
with transient.
* Probably this is acceptable.
*/
- if(!req.persistent()) {
+ if(!req.persistent() && !isInsertScheduler) {
List recent =
schedTransient.recentSuccesses;
SendableRequest altReq = null;
if(!recent.isEmpty()) {
@@ -526,7 +526,7 @@
recent.add(altReq);
}
}
- } else {
+ } else if(!isInsertScheduler) {
RandomGrabArray altRGA = null;
synchronized(recentSuccesses) {
if(!(recentSuccesses.isEmpty()
|| random.nextBoolean())) {
Modified:
trunk/freenet/src/freenet/client/async/ClientRequestSchedulerNonPersistent.java
===================================================================
---
trunk/freenet/src/freenet/client/async/ClientRequestSchedulerNonPersistent.java
2009-04-09 10:19:17 UTC (rev 26673)
+++
trunk/freenet/src/freenet/client/async/ClientRequestSchedulerNonPersistent.java
2009-04-09 13:07:52 UTC (rev 26674)
@@ -26,7 +26,10 @@
ClientRequestSchedulerNonPersistent(ClientRequestScheduler sched,
boolean forInserts, boolean forSSKs) {
super(forInserts, forSSKs);
this.sched = sched;
- recentSuccesses = new LinkedList<BaseSendableGet>();
+ if(!forInserts)
+ recentSuccesses = new LinkedList<BaseSendableGet>();
+ else
+ recentSuccesses = null;
logMINOR = Logger.shouldLog(Logger.MINOR, this);
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs