Author: toad
Date: 2008-06-30 15:04:13 +0000 (Mon, 30 Jun 2008)
New Revision: 20877

Modified:
   
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
   branches/db4o/freenet/src/freenet/support/SortedVectorByNumber.java
Log:
Another SortedVectorByNumber activation fix.

Modified: 
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java  
    2008-06-30 14:57:18 UTC (rev 20876)
+++ 
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java  
    2008-06-30 15:04:13 UTC (rev 20877)
@@ -268,7 +268,7 @@
                                container.set(this);
                }
                // Client
-               SectoredRandomGrabArrayWithInt clientGrabber = 
(SectoredRandomGrabArrayWithInt) prio.get(rc);
+               SectoredRandomGrabArrayWithInt clientGrabber = 
(SectoredRandomGrabArrayWithInt) prio.get(rc, container);
                if(persistent()) container.activate(clientGrabber, 1);
                if(clientGrabber == null) {
                        clientGrabber = new SectoredRandomGrabArrayWithInt(rc, 
persistent(), container);

Modified: branches/db4o/freenet/src/freenet/support/SortedVectorByNumber.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/SortedVectorByNumber.java 
2008-06-30 14:57:18 UTC (rev 20876)
+++ branches/db4o/freenet/src/freenet/support/SortedVectorByNumber.java 
2008-06-30 15:04:13 UTC (rev 20877)
@@ -32,7 +32,12 @@
                return length == 0;
        }

-       public synchronized IntNumberedItem get(int retryCount) {
+       public synchronized IntNumberedItem get(int retryCount, ObjectContainer 
container) {
+               if(persistent) {
+                       container.activate(this, 1);
+                       for(int i=0;i<length;i++)
+                               container.activate(data[i], 1);
+               }
                int x = Arrays.binarySearch(data, new Integer(retryCount), 
comparator);
                if(x >= 0)
                        return data[x];


Reply via email to