From 3614db44151bb47e747226e5bd49d30bb9620e96 Mon Sep 17 00:00:00 2001 From: Denis Lila Date: Mon, 18 Apr 2011 15:13:23 -0400 Subject: Fix concurrent classloading problem in JNLPClassLoader.loadClass. --- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java') diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java index b90362a..13de695 100644 --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java @@ -650,6 +650,7 @@ public class JNLPClassLoader extends URLClassLoader { protected void activateJars(final List jars) { PrivilegedAction activate = new PrivilegedAction() { + @SuppressWarnings("deprecation") public Void run() { // transfer the Jars waitForJars(jars); @@ -983,7 +984,7 @@ public class JNLPClassLoader extends URLClassLoader { * classloader, or one of the classloaders for the JNLP file's * extensions. */ - public Class loadClass(String name) throws ClassNotFoundException { + public synchronized Class loadClass(String name) throws ClassNotFoundException { Class result = findLoadedClassAll(name); @@ -1003,7 +1004,7 @@ public class JNLPClassLoader extends URLClassLoader { // validPackage(name); // search this and the extension loaders - if (result == null) + if (result == null) { try { result = loadClassExt(name); } catch (ClassNotFoundException cnfe) { @@ -1060,6 +1061,7 @@ public class JNLPClassLoader extends URLClassLoader { } } } + } if (result == null) { throw new ClassNotFoundException(name); -- cgit v1.2.3