mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-09-16 06:40:41 +00:00
Revert "example/python: avoid falling back to CLOCK_MONOTONIC"
This breaks client tests on avery old kernel (2.6.32, RHEL 6).
Traceback (most recent call last):
File "./clients/tests/test-client.py", line 699, in setUp
self.srv = NMStubServer(self._testMethodName)
File "./clients/tests/test-client.py", line 309, in __init__
start = nmex.nm_boot_time_ns()
File "/builddir/build/BUILD/NetworkManager-1.11.4/examples/python/nmex.py", line 54, in nm_boot_time_ns
return sys_clock_gettime_ns(CLOCK_BOOTTIME)
File "/builddir/build/BUILD/NetworkManager-1.11.4/examples/python/nmex.py", line 50, in sys_clock_gettime_ns
return _sys_clock_gettime_ns(clock_id)
File "/builddir/build/BUILD/NetworkManager-1.11.4/examples/python/nmex.py", line 39, in f
raise OSError(errno_, os.strerror(errno_))
OSError: [Errno 22] Invalid argument
This reverts commit 119e828dbe
.
This commit is contained in:
parent
119e828dbe
commit
9c0db98094
|
@ -50,8 +50,18 @@ 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():
|
||||||
CLOCK_BOOTTIME = 7
|
# NetworkManager exposes some timestamps as CLOCK_BOOTTIME.
|
||||||
return sys_clock_gettime_ns(CLOCK_BOOTTIME)
|
# Try that first (number 7).
|
||||||
|
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():
|
||||||
|
|
Loading…
Reference in a new issue