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);
}
}