Linus Torvalds wrote:
glibc relies on the TZ environment variable, with a system-wide default
specified in /etc/localtime or suchlike (there is no per-user default). glibc
ignores the kernel's 'struct timezone' settings for of this, as 'struct
timezone' is obsolete/vestigial and doesn't contain enough info to do proper
I assume/think that glibc uses (a) environment
variables and (b) a filesystem-set default (per-user file with a
system-wide default? I don't know what people do).
I've been thinking of adding NetBSD's localtime_rz etc. functions to glibc.
These functions let user programs specify the time zone for each conversion
between time_t and local time, and simplify and/or speed up applications dealing
with many requests coming from different time zones. These functions also ignore
There's no need to put any of this stuff into the kernel.