costin 2002/08/22 10:19:48 Modified: src/main/org/apache/tools/ant Tag: ANT_15_BRANCH AntClassLoader.java Log: Backport the 'synchronized' fix. Revision Changes Path No revision No revision 1.52.2.4 +4 -1 jakarta-ant/src/main/org/apache/tools/ant/AntClassLoader.java Index: AntClassLoader.java =================================================================== RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/AntClassLoader.java,v retrieving revision 1.52.2.3 retrieving revision 1.52.2.4 diff -u -r1.52.2.3 -r1.52.2.4 --- AntClassLoader.java 17 Jun 2002 05:44:54 -0000 1.52.2.3 +++ AntClassLoader.java 22 Aug 2002 17:19:47 -0000 1.52.2.4 @@ -906,8 +906,11 @@ * on the system classpath (when not in isolated mode) or this loader's * classpath. */ - protected Class loadClass(String classname, boolean resolve) + protected synchronized Class loadClass(String classname, boolean resolve) throws ClassNotFoundException { + // 'sync' is needed - otherwise 2 threads can load the same class + // twice, resulting in LinkageError: duplicated class definition. + // findLoadedClass avoids that, but without sync it won't work. Class theClass = findLoadedClass(classname); if (theClass != null) {
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>