[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: touch gets stuck for named pipes
From: |
Bruno Haible |
Subject: |
Re: touch gets stuck for named pipes |
Date: |
Fri, 10 Apr 2009 01:07:35 +0200 |
User-agent: |
KMail/1.9.9 |
Paolo Bonzini wrote:
> I'll make it say "guessing yes" and still put "yes" in the variable.
Thanks. Here is what the adaptation in gnulib could look like. But frankly,
I'll prefer to remove the module altogether: The bug it cures occurred only
on Sequents; the last time I heard about this kind of machine was in 1996.
So, any objections to removing this module?
Bruno
2009-04-09 Bruno Haible <address@hidden>
* m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
autoconf.
* doc/posix-functions/utime.texi: Give more precisions.
--- doc/posix-functions/utime.texi.orig 2009-04-10 00:54:49.000000000 +0200
+++ doc/posix-functions/utime.texi 2009-04-10 00:53:46.000000000 +0200
@@ -9,8 +9,8 @@
Portability problems fixed by Gnulib:
@itemize
@item
-On some old platforms, @code{utime (file, NULL)} fails to set the file's
-timestamp to the current time.
+On some old platforms (Sequent), @code{utime (file, NULL)} fails to set the
+file's timestamp to the current time.
@end itemize
Portability problems not fixed by Gnulib:
--- m4/utime.m4.orig 2009-04-10 00:54:49.000000000 +0200
+++ m4/utime.m4 2009-04-10 00:52:25.000000000 +0200
@@ -1,4 +1,4 @@
-# serial 8
+# serial 9
dnl From Jim Meyering
dnl Replace the utime function on systems that need it.
@@ -28,3 +28,34 @@
AC_REQUIRE([gl_CHECK_TYPE_STRUCT_UTIMBUF])
gl_FUNC_UTIMES_NULL
])
+
+# Use the definition of AC_FUNC_UTIME_NULL from autoconf 2.64 or newer.
+# Remove this macro when we can assume autoconf >= 2.64.
+m4_version_prereq([2.64], [], [
+AC_DEFUN([AC_FUNC_UTIME_NULL],
+[AC_CHECK_HEADERS_ONCE([utime.h])
+AC_CACHE_CHECK([whether utime accepts a null argument],
[ac_cv_func_utime_null],
+[rm -f conftest.data; >conftest.data
+# Sequent interprets utime(file, 0) to mean use start of epoch. Wrong.
+AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
+ #ifdef HAVE_UTIME_H
+ # include <utime.h>
+ #endif],
+[[struct stat s, t;
+ return ! (stat ("conftest.data", &s) == 0
+ && utime ("conftest.data", 0) == 0
+ && stat ("conftest.data", &t) == 0
+ && t.st_mtime >= s.st_mtime
+ && t.st_mtime - s.st_mtime < 120);]])],
+ ac_cv_func_utime_null=yes,
+ ac_cv_func_utime_null=no,
+ ac_cv_func_utime_null='guessing yes')])
+if test "x$ac_cv_func_utime_null" != xno; then
+ ac_cv_func_utime_null=yes
+ AC_DEFINE([HAVE_UTIME_NULL], [1],
+ [Define to 1 if `utime(file, NULL)' sets file's timestamp to the
+ present.])
+fi
+rm -f conftest.data
+])
+])
- Re: touch gets stuck for named pipes, Pádraig Brady, 2009/04/09
- Re: touch gets stuck for named pipes, Andreas Schwab, 2009/04/09
- Re: touch gets stuck for named pipes, Bruno Haible, 2009/04/09
- Re: touch gets stuck for named pipes, Paul Eggert, 2009/04/09
- Re: touch gets stuck for named pipes, Paolo Bonzini, 2009/04/09
- Re: touch gets stuck for named pipes, Eric Blake, 2009/04/09
- Re: touch gets stuck for named pipes, Jim Meyering, 2009/04/09
- Re: touch gets stuck for named pipes, Paolo Bonzini, 2009/04/09
- Re: touch gets stuck for named pipes,
Bruno Haible <=
- Re: touch gets stuck for named pipes, Paolo Bonzini, 2009/04/10
- Re: touch gets stuck for named pipes, Jim Meyering, 2009/04/10
- Re: touch gets stuck for named pipes, Bruno Haible, 2009/04/10