Author: toad
Date: 2008-02-16 14:11:40 +0000 (Sat, 16 Feb 2008)
New Revision: 17996
Modified:
trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
Log:
Avoid fast memory leak: unregister old SubSegment from pendingKeys before
registering new one.
Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
2008-02-16 13:56:57 UTC (rev 17995)
+++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
2008-02-16 14:11:40 UTC (rev 17996)
@@ -398,6 +398,8 @@
return;
}
// If we are here we are going to retry
+ // Unregister from the old sub-segment before registering on
the new.
+ seg.unregisterKey(getBlockKey(blockNo).getNodeKey());
SplitFileFetcherSubSegment sub = getSubSegment(tries);
if(logMINOR)
Logger.minor(this, "Retrying block "+blockNo+" on
"+this+" : tries="+tries+"/"+maxTries+" : "+sub);