diff options
author | Eric Blake <ebb9@byu.net> | 2009-10-12 16:48:57 -0600 |
---|---|---|
committer | Eric Blake <ebb9@byu.net> | 2009-10-16 08:26:51 -0600 |
commit | 791cc509ac459a2555f8d633ad67455cf8d3fe4d (patch) | |
tree | 67968f6b2ce89c45e77a2aef8932508fb99fa61d /doc/posix-functions/utimensat.texi | |
parent | 0c278290674f9bb9749d27f2885da510a78acc79 (diff) | |
download | gnulib-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.texi | 14 |
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 |