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

Reply via email to