diff options
Diffstat (limited to 'java/openjdk8/files/patch-jdk-src-solaris-native-java-io-UnixFileSystem_md.c')
-rw-r--r-- | java/openjdk8/files/patch-jdk-src-solaris-native-java-io-UnixFileSystem_md.c | 23 |
1 files changed, 23 insertions, 0 deletions
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; |