craigmcc 01/06/11 20:53:26
Modified: catalina/src/share/org/apache/catalina/loader
StandardClassLoader.java
Log:
Synchronize put() calls that modify classCache to avoid
ConcurrentModificationException errors in the modified() method.
Submitted by: Jon Stevens <[EMAIL PROTECTED]>
Revision Changes Path
1.19 +14 -9
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.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- StandardClassLoader.java 2001/05/11 18:19:40 1.18
+++ StandardClassLoader.java 2001/06/12 03:53:26 1.19
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
1.18 2001/05/11 18:19:40 remm Exp $
- * $Revision: 1.18 $
- * $Date: 2001/05/11 18:19:40 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java,v
1.19 2001/06/12 03:53:26 craigmcc Exp $
+ * $Revision: 1.19 $
+ * $Date: 2001/06/12 03:53:26 $
*
* ====================================================================
*
@@ -110,7 +110,7 @@
*
* @author Craig R. McClanahan
* @author Remy Maucherat
- * @version $Revision: 1.18 $ $Date: 2001/05/11 18:19:40 $
+ * @version $Revision: 1.19 $ $Date: 2001/06/12 03:53:26 $
*/
public class StandardClassLoader
@@ -707,8 +707,11 @@
"' modified '" +
(new java.sql.Timestamp(file.lastModified())) +
"'");
- classCache.put(name, new ClassCacheEntry
- (clazz, file, file.lastModified()));
+ synchronized (classCache) {
+ classCache.put
+ (name, new ClassCacheEntry
+ (clazz, file, file.lastModified()));
+ }
}
} catch(AccessControlException ace) {
@@ -739,9 +742,11 @@
(new java.sql.Timestamp
(classUrlConnection.getLastModified())) +
"'");
- classCache.put(name, new ClassCacheEntry
- (clazz, classUrl,
- classUrlConnection.getLastModified()));
+ synchronized (classCache) {
+ classCache.put(name, new ClassCacheEntry
+ (clazz, classUrl,
+ classUrlConnection.getLastModified()));
+ }
} catch (IOException e) {
}