larryi 00/12/03 16:35:38
Modified: src/share/org/apache/tomcat/util/depend
DependClassLoader.java
Log:
Handle operating system dependent rounding in lastModified(). Windows
FAT partitions appear to round up to the nearest second. This was causing
contexts to reload unnecessarily.
Revision Changes Path
1.2 +6 -1
jakarta-tomcat/src/share/org/apache/tomcat/util/depend/DependClassLoader.java
Index: DependClassLoader.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/depend/DependClassLoader.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DependClassLoader.java 2000/08/14 18:40:35 1.1
+++ DependClassLoader.java 2000/12/04 00:35:38 1.2
@@ -172,7 +172,12 @@
if( f==null ) return;
Dependency dep=new Dependency();
- dep.setLastModified( System.currentTimeMillis() );
+ long lm = f.lastModified();
+ long ct = System.currentTimeMillis();
+ // if we just loaded a newly created class file, os dependent rounding
+ // of lastModified() may cause it to exceed currentTimeMillis()
+ if ( ct < lm ) ct = lm;
+ dep.setLastModified( ct );
dep.setTarget( c );
dep.setOrigin( f );