timer: convert property_get_next_elapse_monotonic() to use usec_shift_clock()

Let's use the generic clock shifting logic here.
This commit is contained in:
Lennart Poettering
2017-06-22 20:59:48 +02:00
parent 1007ec60e6
commit 79fc8b9623
2 changed files with 5 additions and 17 deletions
+3 -17
View File
@@ -144,28 +144,14 @@ static int property_get_next_elapse_monotonic(
sd_bus_error *error) {
Timer *t = userdata;
usec_t x;
assert(bus);
assert(reply);
assert(t);
if (t->next_elapse_monotonic_or_boottime <= 0)
x = 0;
else if (t->wake_system) {
usec_t a, b;
a = now(CLOCK_MONOTONIC);
b = now(clock_boottime_or_monotonic());
if (t->next_elapse_monotonic_or_boottime + a > b)
x = t->next_elapse_monotonic_or_boottime + a - b;
else
x = 0;
} else
x = t->next_elapse_monotonic_or_boottime;
return sd_bus_message_append(reply, "t", x);
return sd_bus_message_append(reply, "t",
(uint64_t) usec_shift_clock(t->next_elapse_monotonic_or_boottime,
TIMER_MONOTONIC_CLOCK(t), CLOCK_MONOTONIC));
}
const sd_bus_vtable bus_timer_vtable[] = {
+2
View File
@@ -78,6 +78,8 @@ struct Timer {
char *stamp_path;
};
#define TIMER_MONOTONIC_CLOCK(t) ((t)->wake_system && clock_boottime_supported() ? CLOCK_BOOTTIME_ALARM : CLOCK_MONOTONIC)
void timer_free_values(Timer *t);
extern const UnitVTable timer_vtable;