hotspot/src/os/linux/vm/os_linux.cpp
changeset 37465 1d5551f466ee
parent 37430 fd743dadef12
child 38067 74a151d8e51b
--- 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 ///////////////