Eric Blake wrote:
...
> +# Whether birthtime is supported or not, it better not change even when
> +# [acm]time are modified.  :)
> +touch a || fail=1
> +btime=$(stat --format %W a) || fail=1
> +atime=$(stat --format %X a) || fail=1
> +mtime=$(stat --format %Y a) || fail=1
> +ctime=$(stat --format %Z a) || fail=1
> +
> +case $(stat --format %x a) in
> +  *.000000000*) sleep 2;; # worst case file system is FAT
> +  *) # FIXME: sleep .1 would be sufficient if %X showed nanoseconds
> + sleep 1;; # should be adequate for any system with subsecond resolution
> +esac

We try hard to avoid sleeping in the common case.
Any reason not to do what the FIXME suggests?

    case $(stat --format %X a) in
      *.000000000) sleep 1;;
      *) sleep .1;;
    esac

> +touch a || fail=1
> +test "x$btime" = x$(stat --format %W a) || fail=1
> +test "x$atime" != x$(stat --format %X a) || fail=1
> +test "x$mtime" != x$(stat --format %Y a) || fail=1
> +test "x$ctime" != x$(stat --format %Z a) || fail=1
> +
> +Exit $fail

Reply via email to