summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Halloway <stu@thinkrelevance.com>2011-04-27 14:51:42 -0400
committerStuart Halloway <stu@thinkrelevance.com>2011-04-27 16:37:39 -0400
commit8fee9ad0098507c929721b136b9401b7763d85f5 (patch)
treeff60ec180f1c7ce7d1ad0927d746ef18e6cb6cf8
parent8296b5f752fdb2926a309a7248d0d1bf6cb436b5 (diff)
workaround for Map.Entry behavior pre-Java 6
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
-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);
}
}
}