You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2001/09/10 19:42:51 UTC

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader StandardClassLoader.java

remm        01/09/10 10:42:51

  Modified:    catalina/src/share/org/apache/catalina/loader
                        StandardClassLoader.java
  Log:
  - Apparently the URL class loader is not thread safe, so sync the call to the
    superclass must be synced :-(
  - Class loader gurus, please review (if no syncing is needed, let me know) :)
  - Should fix bug 3518.
  
  Revision  Changes    Path
  1.24      +7 -5      jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java
  
  Index: StandardClassLoader.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- StandardClassLoader.java	2001/08/15 01:47:01	1.23
  +++ StandardClassLoader.java	2001/09/10 17:42:50	1.24
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v 1.23 2001/08/15 01:47:01 craigmcc Exp $
  - * $Revision: 1.23 $
  - * $Date: 2001/08/15 01:47:01 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v 1.24 2001/09/10 17:42:50 remm Exp $
  + * $Revision: 1.24 $
  + * $Date: 2001/09/10 17:42:50 $
    *
    * ====================================================================
    *
  @@ -112,7 +112,7 @@
    *
    * @author Craig R. McClanahan
    * @author Remy Maucherat
  - * @version $Revision: 1.23 $ $Date: 2001/08/15 01:47:01 $
  + * @version $Revision: 1.24 $ $Date: 2001/09/10 17:42:50 $
    */
   
   public class StandardClassLoader
  @@ -667,7 +667,9 @@
               if (debug >= 4)
                   log("      super.findClass(" + name + ")");
               try {
  -                clazz = super.findClass(name);
  +                synchronized (this) {
  +                    clazz = super.findClass(name);
  +                }
               } catch(AccessControlException ace) {
                   throw new ClassNotFoundException(name);
               } catch (RuntimeException e) {