bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Old timestamps in the future?


From: Edward Welbourne
Subject: Re: Old timestamps in the future?
Date: Fri, 9 Dec 2022 15:34:51 +0000

On Fri, 2022-12-09 at 15:06 +0000, Edward Welbourne wrote:
>> MS's time_t is indeed 64-bit; and MS's time_t-related POSIX functions
>> don't support times before the start of 1970, i.e. negative time_t
>> values, so it is eminently plausible MS's time_t is a 64-bit unsigned
>> int.  (Those same functions also don't support times after something
>> like year 3000, but that's another story.)  So it seems eminently
>> likely that your touch has set the time-stamp to just a little bit
>> "less than" 0.

Paul Smith (9 December 2022 16:22)
> Interestingly on GNU/Linux, in glibc, you can provide negative time_t
> values [1] and correctly represent times earlier than the epoch.
> That's probably why it works on my system even though I'm at UTC-0500.
>
> [1] https://www.gnu.org/software/libc/manual/html_node/Time-Types.html

Indeed, on Unix, time_t is signed and modern GLibc / Linux functions
using it are perfectly happy with values across the whole range of the
type (which extends to well before the big bang).

The other possibility is that MS's time_t is signed but, because its
functions don't support negative values for it, some part of the system
gets an error from them and then, when reporting the issue, fetches the
(small negative, so "invalid") time-stamp into an unsigned 64-bit type
making the error a glitch in whatever is reporting the issue.

        Eddy.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]