summaryrefslogtreecommitdiff
path: root/doc/posix-functions/utimensat.texi
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2009-10-07 11:58:54 -0600
committerEric Blake <ebb9@byu.net>2009-10-10 08:25:15 -0600
commit75de3afee5e99c73676c59fb03b1f506b828e3e3 (patch)
tree04bee8c41ac61058976ce2493cd2b32c4567a103 /doc/posix-functions/utimensat.texi
parentb2fb3b5d42009294104f52129fd4c0d7e75202f0 (diff)
downloadgnulib-75de3afee5e99c73676c59fb03b1f506b828e3e3.tar.gz
doc: mention timestamp portability issues
* doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat instead. * doc/posix-functions/utime.texi (utime): Likewise. * doc/posix-functions/utimes.texi (utimes): Likewise. * doc/glibc-functions/futimes.texi (futimes): Refer to futimens instead. * doc/posix-functions/futimens.texi (futimens): Mention utimens module. * doc/posix-functions/utimensat.texi (utimensat): Likewise. Mention weakness with symlink timestamps. * doc/glibc-functions/futimesat.texi (futimesat): New file; refer to utimensat/futimens instead. * doc/gnulib.texi (Glibc sys/time.h): Include new file. Signed-off-by: Eric Blake <ebb9@byu.net>
Diffstat (limited to 'doc/posix-functions/utimensat.texi')
-rw-r--r--doc/posix-functions/utimensat.texi23
1 files changed, 22 insertions, 1 deletions
diff --git a/doc/posix-functions/utimensat.texi b/doc/posix-functions/utimensat.texi
index 23a5582ad7..1dcfe8c111 100644
--- a/doc/posix-functions/utimensat.texi
+++ b/doc/posix-functions/utimensat.texi
@@ -15,5 +15,26 @@ Portability problems not fixed by Gnulib:
@item
This function is missing on some platforms:
glibc 2.3.6, MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX
-5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, Interix 3.5, BeOS.
+5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw,
+Interix 3.5, BeOS.
+@item
+This function returns a bogus value instead of failing with
+@code{ENOSYS} on some platforms:
+Linux kernel 2.6.21.
+@item
+When using @code{UTIME_OMIT} or @code{UTIME_NOW}, some systems require
+the @code{tv_sec} argument to be 0, and don't necessarily handle all
+file permissions in the manner required by POSIX:
+Linux kernel 2.6.25.
+@item
+On some platforms, timestamps of symbolic links cannot be modified, so
+this function fails with @code{ENOSYS} if passed the flag
+@code{AT_SYMLINK_NOFOLLOW}.
+@item
+The mere act of using @code{lstat} modifies the access time of
+symlinks on some platforms, so @code{utimensat} with
+@code{AT_SYMLINK_NOFOLLOW} can only effectively change modification time:
+Cygwin.
@end itemize
+
+The gnulib module utimens provides a similar interface.