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

Reply via email to