]> granicus.if.org Git - procps-ng/commit
Read the system boot time from /proc instead of computing
authorJan Görig <jgorig@redhat.com>
Thu, 16 Dec 2010 09:30:39 +0000 (10:30 +0100)
committerJan Görig <jgorig@redhat.com>
Thu, 16 Dec 2010 09:30:39 +0000 (10:30 +0100)
commit4d3c19af524b82fd13be60034bc5549c6cae149e
treee9c21456b6bdba787c70ba174a6e6ac6bd6c571f
parent9e6370a88622da160330dd46d0d28cb61350edbc
Read the system boot time from /proc instead of computing

Read the time of system boot from /proc/stat (entry: btime) instead
of computing it as the difference between the current time and the
uptime. This is the only way to get a consistent result which won't
possibly change from one run to the next.

The problems with the original code were:
* Both the current time and the uptime are rounded down to the second,
  but the system doesn't boot on an integer second value so they do not
  tick at the same moment. Thus, the rounding errors can cause a one
  second difference from one run to the next.
* We can't read the uptime and the current time at the exact same moment
  anyway, so the time difference we compute is bound to be inaccurate.
Bug-Redhat: https://bugzilla.redhat.com/show_bug.cgi?id=222251
Author: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Craig Small <csmall@debian.org>
proc/library.map
proc/sysinfo.c
proc/sysinfo.h
ps/output.c