diff options
author | Lennart Poettering <lennart@poettering.net> | 2015-04-24 15:27:19 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-04-24 15:51:10 +0200 |
commit | be847e82cf95bf8eb589778df2aa2b3d1d7ae99e (patch) | |
tree | 91c85462c6741f4426ecb2334755994be81fd4c1 /src/core/timer.c | |
parent | 9211e875148588ca96988bb781a27b96ac33adfa (diff) |
Revert "core: do not spawn jobs or touch other units during coldplugging"
This reverts commit 6e392c9c45643d106673c6643ac8bf4e65da13c1.
We really shouldn't invent external state keeping hashmaps, if we can
keep this state in the units themselves.
Diffstat (limited to 'src/core/timer.c')
-rw-r--r-- | src/core/timer.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/core/timer.c b/src/core/timer.c index 79a7540553..940550194b 100644 --- a/src/core/timer.c +++ b/src/core/timer.c @@ -267,12 +267,7 @@ static void timer_set_state(Timer *t, TimerState state) { static void timer_enter_waiting(Timer *t, bool initial); -static int timer_enter_waiting_coldplug(Unit *u) { - timer_enter_waiting(TIMER(u), false); - return 0; -} - -static int timer_coldplug(Unit *u, Hashmap *deferred_work) { +static int timer_coldplug(Unit *u) { Timer *t = TIMER(u); assert(t); @@ -280,10 +275,9 @@ static int timer_coldplug(Unit *u, Hashmap *deferred_work) { if (t->deserialized_state != t->state) { - if (t->deserialized_state == TIMER_WAITING) { - hashmap_put(deferred_work, u, &timer_enter_waiting_coldplug); - timer_set_state(t, TIMER_WAITING); - } else + if (t->deserialized_state == TIMER_WAITING) + timer_enter_waiting(t, false); + else timer_set_state(t, t->deserialized_state); } |