X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=doc%2Fposix-functions%2Ffutimens.texi;h=722a114dcca23cb50cec69ae0ba6202afbd9dd34;hb=a765077b04a89bffa2a6095c7988fb9a70857d7f;hp=2a1a77918f71f5a4b1a98d7c2ab32bda40003596;hpb=75de3afee5e99c73676c59fb03b1f506b828e3e3;p=gnulib.git diff --git a/doc/posix-functions/futimens.texi b/doc/posix-functions/futimens.texi index 2a1a77918..722a114dc 100644 --- a/doc/posix-functions/futimens.texi +++ b/doc/posix-functions/futimens.texi @@ -2,21 +2,19 @@ @section @code{futimens} @findex futimens -POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/futimens.html} +POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/futimens.html} -Gnulib module: --- +Gnulib module: futimens 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 -5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, +glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. +However, the replacement function may end up truncating timestamps to +less resolution than supported by the file system. @item This function returns a bogus value instead of failing with @code{ENOSYS} on some platforms: @@ -27,8 +25,24 @@ 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 -Some platforms lack the ability to change the timestamps of a file -descriptor, so this function can fail with @code{ENOSYS}. +When using @code{UTIME_OMIT} for the modification time, but specifying +an access time, some systems fail to update the change time: +Linux kernel 2.6.32. +@item +Passing @code{AT_FDCWD} as the fd argument does not properly fail with +@code{EBADF} on some systems: +glibc 2.11, Solaris 11. @end itemize -The gnulib module utimens provides a similar interface. +Portability problems not fixed by Gnulib: +@itemize +@item +Some platforms lack the ability to change the timestamps of a file +descriptor, so the replacement can fail with @code{ENOSYS}; the gnulib +module @samp{utimens} provides a more reliable interface @code{fdutimens}. +@item +The mere act of using @code{stat} modifies the access time of +directories on some platforms, so @code{utimensat} can only +effectively change directory modification time: +Cygwin 1.5.x. +@end itemize