Author: toad
Date: 2008-06-24 12:58:32 +0000 (Tue, 24 Jun 2008)
New Revision: 20638

Modified:
   branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
Log:
Doh, wrong file

Modified: 
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java  
2008-06-24 12:57:54 UTC (rev 20637)
+++ branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java  
2008-06-24 12:58:32 UTC (rev 20638)
@@ -394,7 +394,7 @@

        private static final int MAX_STARTER_QUEUE_SIZE = 100;

-       private LinkedList starterQueue = new LinkedList();
+       private transient LinkedList starterQueue = new LinkedList();

        public LinkedList getRequestStarterQueue() {
                return starterQueue;
@@ -417,7 +417,7 @@
                        }
                        if(logMINOR) Logger.minor(this, "Filling request 
queue... (SSK="+isSSKScheduler+" insert="+isInsertScheduler);
                        ChosenRequest req = null;
-                       synchronized(this) {
+                       synchronized(starterQueue) {
                                if(starterQueue.size() >= 
MAX_STARTER_QUEUE_SIZE) {
                                        Logger.error(this, "Queue already full: 
"+starterQueue.size());
                                        return;
@@ -425,15 +425,16 @@
                        }
                        while(true) {
                                req = removeFirst();
-                               boolean finished = false;
+                               if(req == null) return;
                                synchronized(starterQueue) {
                                        if(req != null) {
                                                starterQueue.add(req);
+                                               if(logMINOR)
+                                                       Logger.minor(this, 
"Added to starterQueue: "+req+" size now "+starterQueue.size());
                                                req = null;
                                        }
-                                       if(starterQueue.size() >= 
MAX_STARTER_QUEUE_SIZE) finished = true;
+                                       if(starterQueue.size() >= 
MAX_STARTER_QUEUE_SIZE) return;
                                }
-                               if(req == null || finished) return;
                        }
                }
        };


Reply via email to