diff options
author | Stuart Halloway <stu@thinkrelevance.com> | 2011-04-27 14:51:42 -0400 |
---|---|---|
committer | Stuart Halloway <stu@thinkrelevance.com> | 2011-04-27 16:37:39 -0400 |
commit | 8fee9ad0098507c929721b136b9401b7763d85f5 (patch) | |
tree | ff60ec180f1c7ce7d1ad0927d746ef18e6cb6cf8 | |
parent | 8296b5f752fdb2926a309a7248d0d1bf6cb436b5 (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.java | 5 |
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); } } } |