ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cos...@apache.org
Subject cvs commit: jakarta-ant/src/main/org/apache/tools/ant AntClassLoader.java
Date Thu, 22 Aug 2002 17:19:48 GMT
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:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message