Merge pull request #2843 from NetworkManager/clock_boottime

time-util: fall back to CLOCK_MONOTONIC if CLOCK_BOOTTIME unsupported
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2016-03-15 20:18:00 -04:00
+5 -2
View File
@@ -47,12 +47,15 @@ static clockid_t map_clock_id(clockid_t c) {
/* Some more exotic archs (s390, ppc, …) lack the "ALARM" flavour of the clocks. Thus, clock_gettime() will
* fail for them. Since they are essentially the same as their non-ALARM pendants (their only difference is
* when timers are set on them), let's just map them accordingly. This way, we can get the correct time even on
* those archs. */
* those archs.
*
* Also, older kernels don't support CLOCK_BOOTTIME: fall back to CLOCK_MONOTONIC. */
switch (c) {
case CLOCK_BOOTTIME:
case CLOCK_BOOTTIME_ALARM:
return CLOCK_BOOTTIME;
return clock_boottime_or_monotonic ();
case CLOCK_REALTIME_ALARM:
return CLOCK_REALTIME;