bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

futimes, utimensat, utimes, utime: Document Haiku malfunction


From: Bruno Haible
Subject: futimes, utimensat, utimes, utime: Document Haiku malfunction
Date: Wed, 30 Oct 2024 23:27:42 +0100

Extracting the attached gnulib testdir on Haiku (with GNU tar) produces a
directory that does not work: In it, aclocal.m4 is newer than Makefile.in,
although both files ought to have the same time stamp.

I chased it down to the futimes() libc function: It produces different
time stamps when the caller has requested the same time stamp.
Likewise for the other ways to set a time stamp: utimensat(), utimes(), utime().


2024-10-30  Bruno Haible  <bruno@clisp.org>

        futimes, utimensat, utimes, utime: Document Haiku malfunction.
        * doc/posix-functions/futimens.texi: Mention Haiku's brokenness.
        * doc/posix-functions/utimensat.texi: Likewise.
        * doc/posix-functions/utimes.texi: Likewise.
        * doc/pastposix-functions/utime.texi: Likewise.

diff --git a/doc/pastposix-functions/utime.texi 
b/doc/pastposix-functions/utime.texi
index d4eb86a882..b0d6eae6bd 100644
--- a/doc/pastposix-functions/utime.texi
+++ b/doc/pastposix-functions/utime.texi
@@ -36,6 +36,10 @@
 or the gnulib module @code{utimens},
 instead.
 @item
+This function sets a slightly different time stamp than the requested one:
+@c https://dev.haiku-os.org/ticket/19215
+Haiku.
+@item
 This function is removed in POSIX.1-2024.
 You can use Gnulib module @code{utimens} instead.
 @end itemize
diff --git a/doc/posix-functions/futimens.texi 
b/doc/posix-functions/futimens.texi
index 680d61eead..74c3301433 100644
--- a/doc/posix-functions/futimens.texi
+++ b/doc/posix-functions/futimens.texi
@@ -40,6 +40,10 @@
 this function might not modify the access time as requested:
 Linux kernel 6.9.
 @item
+This function sets a slightly different time stamp than the requested one:
+@c https://dev.haiku-os.org/ticket/19212
+Haiku.
+@item
 Some platforms lack the ability to change the timestamps of a file
 descriptor, so the replacement can fail with @code{ENOSYS};
 @mindex utimens
diff --git a/doc/posix-functions/utimensat.texi 
b/doc/posix-functions/utimensat.texi
index 65f6d8d5de..2bb4230f55 100644
--- a/doc/posix-functions/utimensat.texi
+++ b/doc/posix-functions/utimensat.texi
@@ -49,6 +49,10 @@
 this function might not modify the access time as requested:
 Linux kernel 6.9.
 @item
+This function sets a slightly different time stamp than the requested one:
+@c https://dev.haiku-os.org/ticket/19213
+Haiku.
+@item
 On some platforms, timestamps of symbolic links cannot be modified, so
 the replacement fails with @code{ENOSYS} if passed the flag
 @code{AT_SYMLINK_NOFOLLOW} on a symlink.
diff --git a/doc/posix-functions/utimes.texi b/doc/posix-functions/utimes.texi
index 382adb9b0e..77142dee50 100644
--- a/doc/posix-functions/utimes.texi
+++ b/doc/posix-functions/utimes.texi
@@ -38,6 +38,10 @@
 @code{utime} worked fine.
 glibc 2.2.5.
 @item
+This function sets a slightly different time stamp than the requested one:
+@c https://dev.haiku-os.org/ticket/19214
+Haiku.
+@item
 On OS/2, this function cannot set the timestamp to earlier than the
 year 1980 in local time.
 @item

Attachment: testdir2.tar.gz
Description: application/compressed-tar


reply via email to

[Prev in Thread] Current Thread [Next in Thread]