--- a/hotspot/src/os/linux/vm/os_linux.cpp Mon Apr 11 09:45:03 2016 +0200
+++ b/hotspot/src/os/linux/vm/os_linux.cpp Mon Apr 11 12:22:09 2016 +0200
@@ -6008,7 +6008,22 @@
return yes;
}
-
+static inline struct timespec get_mtime(const char* filename) {
+ struct stat st;
+ int ret = os::stat(filename, &st);
+ assert(ret == 0, "failed to stat() file '%s': %s", filename, strerror(errno));
+ return st.st_mtim;
+}
+
+int os::compare_file_modified_times(const char* file1, const char* file2) {
+ struct timespec filetime1 = get_mtime(file1);
+ struct timespec filetime2 = get_mtime(file2);
+ int diff = filetime1.tv_sec - filetime2.tv_sec;
+ if (diff == 0) {
+ return filetime1.tv_nsec - filetime2.tv_nsec;
+ }
+ return diff;
+}
/////////////// Unit tests ///////////////