Integrate the regex documentation.
[gnulib.git] / doc / posix-functions / futimens.texi
index 2a1a779..ce71bf4 100644 (file)
@@ -4,19 +4,17 @@
 
 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,
 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,20 @@ 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.
 @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