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


Reply via email to