This is the mail archive of the
mailing list for the glibc project.
Re: Bug#202243: glibc utimes glitch with coreutils 'touch'
At 18 Aug 2003 13:30:24 -0700,
Paul Eggert wrote:
> Historically, time-related code has always truncated. For example,
> the time() system call, "ls -l", and "date" all truncate. There are
> good reasons for preferring truncation to rounding in timestamps,
> despite the greater numeric error. For example, truncating makes it
> easier to answer the question "Was that file modified before
> midnight?" when you are looking at lower-resolution timestamps. And
> double-truncation is exact, whereas double-rounding can introduce
> extra errors.
> When 'utimes()' rounds, it can break applications like 'cp -p' and
> 'make', because it can cause file timestamps to be in the future
> when the timestamps are copied from just-created files.
Exactly. I fully agreed with your opinion. I applied.
> The current coreutils CVS works around this problem by avoiding
> 'utimes' if it detects that 'utimes' rounds. This is unfortunate,
> because it disables support for sub-second timestamps in 'cp -p' under
> glibc; but at least it doesn't break 'make'.
> Please fix this problem by applying the patch in
> That will enable coreutils 'cp' to support sub-second timestamps.
Jakub, please take care this problem and show the flag to apply Paul's
patch? I believe there are no point to object his patch.