The time(2) man page conflicts with glibc

Paul Eggert eggert@cs.ucla.edu
Wed Dec 16 23:05:00 GMT 2015


Zack Weinberg wrote:
> When `t` is NULL, the call cannot fail.

This doesn't make it clear what happens when the time_t values roll around after 
the year 2038, on 32-bit time_t hosts. How about adding some further text along 
the following lines?

In GNU/Linux time(NULL) cannot fail with errno == EOVERFLOW, even on ABIs where 
time_t is a signed 32-bit integer and when the clock ticks past the time 2**31 
(2038-01-19 03:14:08 UTC, ignoring leap seconds). Instead, the behavior is 
undefined when the system time is out of time_t range. Applications intended to 
run after 2038 should use ABIs with time_t wider than 32 bits.



More information about the Libc-alpha mailing list