#include "dbus-timer.h"
#include "special.h"
#include "bus-util.h"
-#include "bus-error.h"
static const UnitActiveState state_translation_table[_TIMER_STATE_MAX] = {
[TIMER_DEAD] = UNIT_INACTIVE,
while ((v = t->values)) {
LIST_REMOVE(value, t->values, v);
-
- if (v->calendar_spec)
- calendar_spec_free(v->calendar_spec);
-
+ calendar_spec_free(v->calendar_spec);
free(v);
}
}
goto fail;
r = sd_event_source_set_enabled(t->monotonic_event_source, SD_EVENT_ONESHOT);
- } else
+ if (r < 0)
+ goto fail;
+ } else {
+
r = sd_event_add_time(
UNIT(t)->manager->event,
&t->monotonic_event_source,
t->wake_system ? CLOCK_BOOTTIME_ALARM : CLOCK_MONOTONIC,
t->next_elapse_monotonic_or_boottime, t->accuracy_usec,
timer_dispatch, t);
- if (r < 0)
- goto fail;
+ if (r < 0)
+ goto fail;
- (void) sd_event_source_set_description(t->monotonic_event_source, "timer-monotonic");
+ (void) sd_event_source_set_description(t->monotonic_event_source, "timer-monotonic");
+ }
} else if (t->monotonic_event_source) {
goto fail;
r = sd_event_source_set_enabled(t->realtime_event_source, SD_EVENT_ONESHOT);
- } else
+ if (r < 0)
+ goto fail;
+ } else {
r = sd_event_add_time(
UNIT(t)->manager->event,
&t->realtime_event_source,
t->wake_system ? CLOCK_REALTIME_ALARM : CLOCK_REALTIME,
t->next_elapse_realtime, t->accuracy_usec,
timer_dispatch, t);
- if (r < 0)
- goto fail;
+ if (r < 0)
+ goto fail;
- (void) sd_event_source_set_description(t->realtime_event_source, "timer-realtime");
+ (void) sd_event_source_set_description(t->realtime_event_source, "timer-realtime");
+ }
} else if (t->realtime_event_source) {