Author: toad
Date: 2008-04-01 23:40:26 +0000 (Tue, 01 Apr 2008)
New Revision: 18899

Modified:
   trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
Log:
Prevent a temporary file leak, and more consistent fetched blocks count.

Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2008-04-01 23:12:11 UTC (rev 18898)
+++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2008-04-01 23:40:26 UTC (rev 18899)
@@ -160,10 +160,9 @@
                // No need to unregister key, because it will be cleared in 
tripPendingKey().
                boolean dontNotify;
                synchronized(this) {
-                       if(isFinished()) return;
                        if(blockNo < dataKeys.length) {
                                if(dataKeys[blockNo] == null) {
-                                       Logger.error(this, "Block already 
finished: "+blockNo);
+                                       if(!startedDecode) Logger.error(this, 
"Block already finished: "+blockNo);
                                        return;
                                }
                                dataKeys[blockNo] = null;
@@ -171,7 +170,7 @@
                        } else if(blockNo < checkKeys.length + dataKeys.length) 
{
                                blockNo -= dataKeys.length;
                                if(checkKeys[blockNo] == null) {
-                                       Logger.error(this, "Check block already 
finished: "+blockNo);
+                                       if(!startedDecode) Logger.error(this, 
"Check block already finished: "+blockNo);
                                        return;
                                }
                                checkKeys[blockNo] = null;


Reply via email to