From 14d09afa8b920a441ca2186b6a6da64e559e01c3 Mon Sep 17 00:00:00 2001 From: "Shuowang (Wayne) Zhang" Date: Fri, 28 Aug 2020 16:01:12 -0400 Subject: [PATCH] zos: don't use nanosecond timestamp fields Nanosecond resolution for the timestamp fields `st_atim`, `st_mtim`, and `st_ctim` are not supported on z/OS. PR-URL: https://github.com/libuv/libuv/pull/3060 Reviewed-By: Richard Lau --- src/unix/fs.c | 3 ++- test/test-fs.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/unix/fs.c b/src/unix/fs.c index fd7ae087..7cdbbfb0 100644 --- a/src/unix/fs.c +++ b/src/unix/fs.c @@ -1357,7 +1357,8 @@ static void uv__to_stat(struct stat* src, uv_stat_t* dst) { dst->st_birthtim.tv_nsec = src->st_ctimensec; dst->st_flags = 0; dst->st_gen = 0; -#elif !defined(_AIX) && ( \ +#elif !defined(_AIX) && \ + !defined(__MVS__) && ( \ defined(__DragonFly__) || \ defined(__FreeBSD__) || \ defined(__OpenBSD__) || \ diff --git a/test/test-fs.c b/test/test-fs.c index fc97b325..034c971d 100644 --- a/test/test-fs.c +++ b/test/test-fs.c @@ -1453,7 +1453,8 @@ TEST_IMPL(fs_fstat) { ASSERT(s->st_mtim.tv_nsec == t.st_mtimespec.tv_nsec); ASSERT(s->st_ctim.tv_sec == t.st_ctimespec.tv_sec); ASSERT(s->st_ctim.tv_nsec == t.st_ctimespec.tv_nsec); -#elif defined(_AIX) +#elif defined(_AIX) || \ + defined(__MVS__) ASSERT(s->st_atim.tv_sec == t.st_atime); ASSERT(s->st_atim.tv_nsec == 0); ASSERT(s->st_mtim.tv_sec == t.st_mtime);