summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2009-05-15 15:46:17 +0000
committerRich Hickey <richhickey@gmail.com>2009-05-15 15:46:17 +0000
commit939976735ea071cb00944b066392ab8b8d749918 (patch)
treedd4ca36955d12f9fc3be64e22c41f323911d600a
parent479b43a6fa675f34f1d88703adda742a0bd4f888 (diff)
use context classloader as parent for dynamic classloaders
-rw-r--r--src/jvm/clojure/lang/RT.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java
index d9e7594b..f4623591 100644
--- a/src/jvm/clojure/lang/RT.java
+++ b/src/jvm/clojure/lang/RT.java
@@ -1468,8 +1468,14 @@ static public Object[] setValues(Object... vals){
static public ClassLoader makeClassLoader(){
return (ClassLoader) AccessController.doPrivileged(new PrivilegedAction(){
public Object run(){
- getRootClassLoader();
+ try{
+ Var.pushThreadBindings(RT.map(USE_CONTEXT_CLASSLOADER, RT.T));
+// getRootClassLoader();
return new DynamicClassLoader(baseLoader());
+ }
+ finally{
+ Var.popThreadBindings();
+ }
}
});
}