From 848047809fc139c9df537e7ebedf4d9b5bbd9bc7 Mon Sep 17 00:00:00 2001 From: Alex Dupre Date: Thu, 27 Dec 2018 09:46:44 +0000 Subject: Add support for millisecond resolution to get/setLastModifiedTime in both Java IO and NIO. --- ...-src-solaris-native-java-io-UnixFileSystem_md.c | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 java/openjdk8/files/patch-jdk-src-solaris-native-java-io-UnixFileSystem_md.c (limited to 'java/openjdk8/files/patch-jdk-src-solaris-native-java-io-UnixFileSystem_md.c') diff --git a/java/openjdk8/files/patch-jdk-src-solaris-native-java-io-UnixFileSystem_md.c b/java/openjdk8/files/patch-jdk-src-solaris-native-java-io-UnixFileSystem_md.c new file mode 100644 index 000000000000..f5d0902cff92 --- /dev/null +++ b/java/openjdk8/files/patch-jdk-src-solaris-native-java-io-UnixFileSystem_md.c @@ -0,0 +1,23 @@ +--- jdk/src/solaris/native/java/io/UnixFileSystem_md.c.orig 2018-12-12 23:07:51.229721000 +0100 ++++ jdk/src/solaris/native/java/io/UnixFileSystem_md.c 2018-12-12 23:12:21.847169000 +0100 +@@ -208,7 +208,8 @@ + WITH_FIELD_PLATFORM_STRING(env, file, ids.path, path) { + struct stat64 sb; + if (stat64(path, &sb) == 0) { +- rv = 1000 * (jlong)sb.st_mtime; ++ rv = (jlong)sb.st_mtim.tv_sec * 1000; ++ rv += (jlong)sb.st_mtim.tv_nsec / 1000000; + } + } END_PLATFORM_STRING(env, path); + return rv; +@@ -392,8 +393,8 @@ + struct timeval tv[2]; + + /* Preserve access time */ +- tv[0].tv_sec = sb.st_atime; +- tv[0].tv_usec = 0; ++ tv[0].tv_sec = sb.st_atim.tv_sec; ++ tv[0].tv_usec = sb.st_atim.tv_nsec / 1000; + + /* Change last-modified time */ + tv[1].tv_sec = time / 1000; -- cgit v1.2.3