Author: toad
Date: 2008-09-02 16:19:02 +0000 (Tue, 02 Sep 2008)
New Revision: 22352

Modified:
   branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java
Log:
Maybe fix NPE


Modified: branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java        
2008-09-02 15:32:21 UTC (rev 22351)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java        
2008-09-02 16:19:02 UTC (rev 22352)
@@ -535,6 +535,7 @@
                        }
                        File main;
                        File alt;
+                       boolean cacheLocalRequests;
                        if(persistent) {
                                container.activate(mainBloomFile, 5);
                                container.activate(altBloomFile, 5);
@@ -542,15 +543,19 @@
                                alt = new File(altBloomFile.getPath());
                                container.deactivate(mainBloomFile, 1);
                                container.deactivate(altBloomFile, 1);
+                               container.activate(fetchContext, 1);
+                               cacheLocalRequests = 
fetchContext.cacheLocalRequests;
+                               container.deactivate(fetchContext, 1);
                        } else {
                                main = null;
                                alt = null;
+                               cacheLocalRequests = 
fetchContext.cacheLocalRequests;
                        }
                        try {
                                if(Logger.shouldLog(Logger.MINOR, this))
                                        Logger.minor(this, "Attempting to read 
Bloom filter for "+this+" main file="+main+" alt file="+alt);
                                tempListener =
-                                       new SplitFileFetcherKeyListener(this, 
keyCount, main, alt, mainBloomFilterSizeBytes, mainBloomK, 
!fetchContext.cacheLocalRequests, localSalt, segments.length, 
perSegmentBloomFilterSizeBytes, perSegmentK, persistent, false);
+                                       new SplitFileFetcherKeyListener(this, 
keyCount, main, alt, mainBloomFilterSizeBytes, mainBloomK, !cacheLocalRequests, 
localSalt, segments.length, perSegmentBloomFilterSizeBytes, perSegmentK, 
persistent, false);
                        } catch (IOException e) {
                                Logger.error(this, "Unable to read Bloom filter 
for "+this+" attempting to reconstruct...", e);
                                mainBloomFile.delete();


Reply via email to