tech-kern archive

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

Re: Support for tv_sec=-1 (one second before the epoch) timestamps?





On Wed, Dec 12, 2018 at 2:34 PM Joerg Sonnenberger <joerg%bec.de@localhost> wrote:
On Wed, Dec 12, 2018 at 08:46:33PM +0100, Michał Górny wrote:
> While researching libc++ test failures, I've discovered that NetBSD
> suffers from the same issue as FreeBSD -- that is, both the userspace
> tooling and the kernel have problems with (time_t)-1 timestamp,
> i.e. one second before the epoch.

I see no reason why that should be valid or more general, why any
negative value of time_t is required to be valid.

Does (time_t)-1 mean a date in 1969 (int)? Or does it mean a date in 2106 (uint32_t)? Or is it a date in 584942419325 (uint64_t)? I don't think that POSIX actually says anything about the right answer. All I could find about what time_t is the vague statement: "time_t Used for time in seconds." and the following from the time() call: 'Upon successful completion, time() shall return the value of time. Otherwise, (time_t)-1 shall be returned.' This strongly implies, to my mind, that -1 is not a valid time_t.

Warner



Home | Main Index | Thread Index | Old Index