[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
testdir2.tar.gz
Description: application/compressed-tar
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- futimes, utimensat, utimes, utime: Document Haiku malfunction,
Bruno Haible <=