From 02d6713592b85971ae5d6fe595ace6f651c52431 Mon Sep 17 00:00:00 2001 From: markt Date: Mon, 17 Aug 2009 22:20:29 +0000 Subject: [PATCH] Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=44041 Remove previous sync that didn't fix the issue Make loadClass synchronized like java.lang.ClassLoader I was concerned about possible performance implications but I saw no detectable change in start-up time with this change. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@805182 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/loader/WebappClassLoader.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/java/org/apache/catalina/loader/WebappClassLoader.java b/java/org/apache/catalina/loader/WebappClassLoader.java index 4f295f7db..095859ed6 100644 --- a/java/org/apache/catalina/loader/WebappClassLoader.java +++ b/java/org/apache/catalina/loader/WebappClassLoader.java @@ -900,9 +900,7 @@ public class WebappClassLoader } if ((clazz == null) && hasExternalRepositories) { try { - synchronized (this) { - clazz = super.findClass(name); - } + clazz = super.findClass(name); } catch(AccessControlException ace) { throw new ClassNotFoundException(name, ace); } catch (RuntimeException e) { @@ -1259,7 +1257,7 @@ public class WebappClassLoader * * @exception ClassNotFoundException if the class was not found */ - public Class loadClass(String name, boolean resolve) + public synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException { if (log.isDebugEnabled()) -- 2.11.0