0
0
mirror of https://github.com/termux/termux-packages.git synced 2025-08-09 05:31:50 +00:00
Files
termux-packages/packages/openjdk-17/0010-Fixed-Java_sun_nio_fs_UnixNativeDispatcher_futimes.patch
alexytomi 8d30dd9550 fix(openjdk-17): Readd deleted comments to commit message
Also regenerates for 17.0.16-ga
2025-07-23 00:33:24 -05:00

48 lines
1.9 KiB
Diff

From dccc71da9d0e60124ebf86dc13015a47995e68f9 Mon Sep 17 00:00:00 2001
From: Duy Tran Khanh <40482367+khanhduytran0@users.noreply.github.com>
Date: Thu, 10 Jun 2021 18:36:56 +0700
Subject: [PATCH 10/41] Fixed Java_sun_nio_fs_UnixNativeDispatcher_futimes
---
.../unix/native/libnio/fs/UnixNativeDispatcher.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c b/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
index f9c1b5516ee..51b18326c18 100644
--- a/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
+++ b/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
@@ -956,16 +956,17 @@ Java_sun_nio_fs_UnixNativeDispatcher_futimes(JNIEnv* env, jclass this, jint file
jlong accessTime, jlong modificationTime)
{
struct timeval times[2];
+ struct timespec times2[2];
int err = 0;
- times[0].tv_sec = accessTime / 1000000;
+ times[0].tv_sec = times2[0].tv_sec = accessTime / 1000000;
times[0].tv_usec = accessTime % 1000000;
- times[1].tv_sec = modificationTime / 1000000;
+ times[1].tv_sec = times2[1].tv_sec = modificationTime / 1000000;
times[1].tv_usec = modificationTime % 1000000;
- times[0].tv_nsec = (accessTime % 1000000) * 1000;
- times[1].tv_nsec = (modificationTime % 1000000) * 1000;
+ times2[0].tv_nsec = times[0].tv_usec * 1000;
+ times2[1].tv_nsec = times[1].tv_usec * 1000;
#ifdef _ALLBSD_SOURCE
RESTARTABLE(futimes(filedes, &times[0]), err);
@@ -977,7 +978,7 @@ Java_sun_nio_fs_UnixNativeDispatcher_futimes(JNIEnv* env, jclass this, jint file
if (my_futimesat_func != NULL) {
RESTARTABLE((*my_futimesat_func)(filedes, NULL, &times[0]), err);
} else {
- RESTARTABLE((*my_utimensat_func)(filedes, NULL, &times[0], 0), err);
+ RESTARTABLE((*my_utimensat_func)(filedes, NULL, &times2[0], 0), err);
}
#endif
if (err == -1) {
--
2.50.1