void
inittodr(
time_t base
)
)
function determines the time and sets the system clock.
It tries to pick the correct time using a set of heuristics that examine
the system's battery-backed clock and the time reported by the file
system, as given in
base
.
Those heuristics include:
base
,
it is used.
base
,
and the time provided in
base
is within reason,
base
is used as the current time.
base
appears non-sensical or was not provided (was given as zero),
an arbitrary base (typically some time within the same year that
the kernel was last updated) will be used.
Once a system time has been determined, it is stored in the time variable.
)
function prints diagnostic messages if it has trouble figuring
out the system time.
Conditions that can cause diagnostic messages to be printed include:
base
time appears nonsensical.
base
time and the battery-backed clock's time differ by a large amount.