summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jvm/clojure/lang/Util.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/Util.java b/src/jvm/clojure/lang/Util.java
index 2b0831cd..454327e1 100644
--- a/src/jvm/clojure/lang/Util.java
+++ b/src/jvm/clojure/lang/Util.java
@@ -133,8 +133,9 @@ static public <K,V> void clearCache(ReferenceQueue rq, ConcurrentHashMap<K, Refe
;
for(Map.Entry<K, Reference<V>> e : cache.entrySet())
{
- if(e.getValue().get() == null)
- cache.remove(e.getKey(), e.getValue());
+ Reference<V> val = e.getValue();
+ if(val != null && val.get() == null)
+ cache.remove(e.getKey(), val);
}
}
}