Author: toad
Date: 2008-07-17 17:50:07 +0000 (Thu, 17 Jul 2008)
New Revision: 21179

Modified:
   branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
   
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
Log:
Doh doh! Forgot to store when removing from blockNums. Caused various ERRORs 
e.g. Already have block N but was in blockNums on blah

Modified: 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2008-07-17 17:43:29 UTC (rev 21178)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2008-07-17 17:50:07 UTC (rev 21179)
@@ -991,7 +991,7 @@
                if(persistent)
                        container.activate(seg, 1);
                if(seg != null) {
-                       seg.removeBlockNum(blockNum);
+                       seg.removeBlockNum(blockNum, container);
                        seg.possiblyRemoveFromParent(container);
                }
                if(persistent)

Modified: 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java  
    2008-07-17 17:43:29 UTC (rev 21178)
+++ 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java  
    2008-07-17 17:50:07 UTC (rev 21179)
@@ -594,7 +594,7 @@
                getScheduler(context).register(firstTime ? segment : null, new 
SendableGet[] { this }, regmeOnly, persistent, true, 
segment.blockFetchContext.blocks, null);
        }

-       public void removeBlockNum(int blockNum) {
+       public void removeBlockNum(int blockNum, ObjectContainer container) {
                if(logMINOR) Logger.minor(this, "Removing block "+blockNum+" 
from "+this);
                synchronized(segment) {
                        for(int i=0;i<blockNums.size();i++) {
@@ -607,6 +607,7 @@
                                }
                        }
                }
+               container.set(blockNums);
        }

 }


Reply via email to