example/python: avoid falling back to CLOCK_MONOTONIC
According to the D-Bus API specification we return CLOCK_BOOTTIME only. We don't support kernels too old to have it -- the fall back to CLOCK_MONOTONIC is only there to be able to run unit tests on RHEL 6 kernel and will eventually go away.
This commit is contained in:
@@ -50,18 +50,8 @@ def sys_clock_gettime_ns(clock_id):
|
|||||||
return _sys_clock_gettime_ns(clock_id)
|
return _sys_clock_gettime_ns(clock_id)
|
||||||
|
|
||||||
def nm_boot_time_ns():
|
def nm_boot_time_ns():
|
||||||
# NetworkManager exposes some timestamps as CLOCK_BOOTTIME.
|
CLOCK_BOOTTIME = 7
|
||||||
# Try that first (number 7).
|
return sys_clock_gettime_ns(CLOCK_BOOTTIME)
|
||||||
try:
|
|
||||||
return sys_clock_gettime_ns(7)
|
|
||||||
except OSError as e:
|
|
||||||
# On systems, where this is not available, fallback to
|
|
||||||
# CLOCK_MONOTONIC (numeric 1).
|
|
||||||
# That is what NetworkManager does as well.
|
|
||||||
import errno
|
|
||||||
if e.errno == errno.EINVAL:
|
|
||||||
return sys_clock_gettime_ns(1)
|
|
||||||
raise
|
|
||||||
def nm_boot_time_us():
|
def nm_boot_time_us():
|
||||||
return nm_boot_time_ns() / 1000
|
return nm_boot_time_ns() / 1000
|
||||||
def nm_boot_time_ms():
|
def nm_boot_time_ms():
|
||||||
|
Reference in New Issue
Block a user