utimens: validate futimens usage
[pspp] / ChangeLog
index 042d7e2acad7207682594d86cbb56ce8c7752bf4..ffbfe70ba97e5ab86457db757bcd7f93f0adffed 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,39 @@
 2009-10-10  Eric Blake  <ebb9@byu.net>
 
+       utimens: validate futimens usage
+       * lib/utimens.c (gl_futimens): Require valid fd up front, using
+       fewer syscalls on failure later on.  Avoid compiler warning on
+       mingw.
+       * modules/utimens (Depends-on): Add dup2.
+
+       utimens: add test
+       * modules/utimens-tests: New test.
+       * tests/test-utimens.h: New file.
+       * tests/test-futimens.h: Likewise.
+       * tests/test-utimens.c: Likewise.
+
+       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.
+
+       test-dup2: enhance test
+       * tests/test-dup2.c (main): Also check AT_FDCWD.
+
+       test-stat-time: avoid more spurious failures
+       * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
+       xfs; and avoid race if the two timestamps cross quantization edge.
+
        relocatable: prefer 'file system' over 'filesystem'
        * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
        (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.