Author: toad
Date: 2007-08-11 12:27:27 +0000 (Sat, 11 Aug 2007)
New Revision: 14591

Modified:
   trunk/freenet/src/freenet/client/ArchiveManager.java
Log:
Avoid NPE, log when the cache is full but there is nothing to dump from it.

Modified: trunk/freenet/src/freenet/client/ArchiveManager.java
===================================================================
--- trunk/freenet/src/freenet/client/ArchiveManager.java        2007-08-11 
12:25:08 UTC (rev 14590)
+++ trunk/freenet/src/freenet/client/ArchiveManager.java        2007-08-11 
12:27:27 UTC (rev 14591)
@@ -433,6 +433,11 @@
                        ArchiveStoreItem item;
                        synchronized(this) {
                                if(cachedData <= maxCachedData && 
storedData.size() <= maxCachedElements) return;
+                               if(storedData.isEmpty()) {
+                                       // Race condition? cachedData out of 
sync?
+                                       Logger.error(this, "storedData is empty 
but still over limit: cachedData="+cachedData+" / "+maxCachedData);
+                                       return;
+                               }
                                item = (ArchiveStoreItem) 
storedData.popValue();        
                        }
                        if(logMINOR)


Reply via email to