Author: michiel
Date: 2009-12-14 10:49:13 +0100 (Mon, 14 Dec 2009)
New Revision: 40224

Modified:
   mmbase/trunk/core/src/main/java/org/mmbase/cache/CacheManager.java
Log:
iterating over a map that could be changed needs locking

Modified: mmbase/trunk/core/src/main/java/org/mmbase/cache/CacheManager.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/cache/CacheManager.java  
2009-12-11 20:52:36 UTC (rev 40223)
+++ mmbase/trunk/core/src/main/java/org/mmbase/cache/CacheManager.java  
2009-12-14 09:49:13 UTC (rev 40224)
@@ -511,7 +511,11 @@
         public String getName() { return cache.getName(); }
         public String getDescription() { return cache.getDescription(); }
         public int getMaxEntrySize() { return cache.getMaxEntrySize(); }
-        public Set<Map.Entry<K, V>> getEntrySet() { return new 
HashSet<Map.Entry<K, V>>(cache.entrySet()); }
+        public Set<Map.Entry<K, V>> getEntrySet() {
+            synchronized (cache.getLock()) {
+                return new HashSet<Map.Entry<K, V>>(cache.entrySet());
+            }
+        }
         public Set<K> getKeySet() { return new HashSet<K>(cache.keySet()); }
         public long getHits() { return cache.getHits(); }
         public long  getMisses() { return cache.getMisses(); }

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to