summaryrefslogtreecommitdiff
path: root/doc/posix-functions/utimensat.texi
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2009-10-12 16:48:57 -0600
committerEric Blake <ebb9@byu.net>2009-10-16 08:26:51 -0600
commit791cc509ac459a2555f8d633ad67455cf8d3fe4d (patch)
tree67968f6b2ce89c45e77a2aef8932508fb99fa61d /doc/posix-functions/utimensat.texi
parent0c278290674f9bb9749d27f2885da510a78acc79 (diff)
downloadgnulib-791cc509ac459a2555f8d633ad67455cf8d3fe4d.tar.gz
utimensat: new module
Provide utimensat where it is missing, and rpl_utimensat to work around ENOSYS and EINVAL bugs in older Linux kernels. * modules/utimensat: New file. * lib/utimensat.c (utimensat): Likewise. * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat, so we can work around Linux bugs. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses. * modules/sys_stat (Makefile.am): Substitute them. * lib/sys_stat.in.h (utimensat): Declare it. * MODULES.html.sh (systems lacking POSIX:2008): Mention module. * doc/posix-functions/utimensat.texi (utimensat): Likewise. * modules/utimensat-tests: New test. * tests/test-utimensat.c: Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
Diffstat (limited to 'doc/posix-functions/utimensat.texi')
-rw-r--r--doc/posix-functions/utimensat.texi14
1 files changed, 7 insertions, 7 deletions
diff --git a/doc/posix-functions/utimensat.texi b/doc/posix-functions/utimensat.texi
index 1dcfe8c111..7164965d66 100644
--- a/doc/posix-functions/utimensat.texi
+++ b/doc/posix-functions/utimensat.texi
@@ -4,14 +4,10 @@
POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/utimensat.html}
-Gnulib module: ---
+Gnulib module: utimensat
Portability problems fixed by Gnulib:
@itemize
-@end itemize
-
-Portability problems not fixed by Gnulib:
-@itemize
@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
@@ -26,10 +22,14 @@ 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.
+@end itemize
+
+Portability problems not fixed by Gnulib:
+@itemize
@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}.
+the replacement fails with @code{ENOSYS} if passed the flag
+@code{AT_SYMLINK_NOFOLLOW} on a symlink.
@item
The mere act of using @code{lstat} modifies the access time of
symlinks on some platforms, so @code{utimensat} with