Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

don't rely on softref queue, explicitly remove dead entry when found,…

… fixes #444
  • Loading branch information...
commit 167a73857a746e8dbeeb6d9ea8f99083aca7dc69 1 parent cc8372f
Rich Hickey authored September 28, 2010
2  src/jvm/clojure/lang/DynamicClassLoader.java
@@ -54,6 +54,8 @@ public Class defineClass(String name, byte[] bytes, Object srcForm){
54 54
 		Class c = cr.get();
55 55
         if(c != null)
56 56
             return c;
  57
+		else
  58
+	        classCache.remove(name, cr);
57 59
 		}
58 60
 	return super.findClass(name);
59 61
 }
1  src/jvm/clojure/lang/Keyword.java
@@ -36,6 +36,7 @@ public static Keyword intern(Symbol sym){
36 36
 	if(existingk != null)
37 37
 		return existingk;
38 38
 	//entry died in the interim, do over
  39
+	table.remove(sym, existingRef);
39 40
 	return intern(sym);
40 41
 }
41 42
 

0 notes on commit 167a738

Please sign in to comment.
Something went wrong with that request. Please try again.