X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Ftimer.c;h=e6f207fbb6e6b8daa507a59a08a064d24f60608b;hp=065e9c14dbf7905f3df603f8922351305425f1b3;hb=7210bfb3706f8cbb2b35403f916dace1824c516c;hpb=ead8e4788ee31bbdc38b4cd3c6e71c8a95bbc95a diff --git a/src/timer.c b/src/timer.c index 065e9c14d..e6f207fbb 100644 --- a/src/timer.c +++ b/src/timer.c @@ -78,9 +78,13 @@ static int timer_add_default_dependencies(Timer *t) { assert(t); - if (t->meta.manager->running_as == MANAGER_SYSTEM) + if (t->meta.manager->running_as == MANAGER_SYSTEM) { + if ((r = unit_add_dependency_by_name(UNIT(t), UNIT_BEFORE, SPECIAL_BASIC_TARGET, NULL, true)) < 0) + return r; + if ((r = unit_add_two_dependencies_by_name(UNIT(t), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SYSINIT_TARGET, NULL, true)) < 0) return r; + } return unit_add_two_dependencies_by_name(UNIT(t), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true); } @@ -148,7 +152,7 @@ static void timer_set_state(Timer *t, TimerState state) { timer_state_to_string(old_state), timer_state_to_string(state)); - unit_notify(UNIT(t), state_translation_table[old_state], state_translation_table[state]); + unit_notify(UNIT(t), state_translation_table[old_state], state_translation_table[state], true); } static void timer_enter_waiting(Timer *t, bool initial); @@ -474,6 +478,10 @@ DEFINE_STRING_TABLE_LOOKUP(timer_base, TimerBase); const UnitVTable timer_vtable = { .suffix = ".timer", + .sections = + "Unit\0" + "Timer\0" + "Install\0", .init = timer_init, .done = timer_done,