summaryrefslogtreecommitdiff
path: root/src/core/path.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-04-24 15:27:19 +0200
committerLennart Poettering <lennart@poettering.net>2015-04-24 15:51:10 +0200
commitbe847e82cf95bf8eb589778df2aa2b3d1d7ae99e (patch)
tree91c85462c6741f4426ecb2334755994be81fd4c1 /src/core/path.c
parent9211e875148588ca96988bb781a27b96ac33adfa (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/path.c')
-rw-r--r--src/core/path.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/core/path.c b/src/core/path.c
index 6be9ac84be..fbb695d87f 100644
--- a/src/core/path.c
+++ b/src/core/path.c
@@ -438,12 +438,7 @@ static void path_set_state(Path *p, PathState state) {
static void path_enter_waiting(Path *p, bool initial, bool recheck);
-static int path_enter_waiting_coldplug(Unit *u) {
- path_enter_waiting(PATH(u), true, true);
- return 0;
-}
-
-static int path_coldplug(Unit *u, Hashmap *deferred_work) {
+static int path_coldplug(Unit *u) {
Path *p = PATH(u);
assert(p);
@@ -452,10 +447,9 @@ static int path_coldplug(Unit *u, Hashmap *deferred_work) {
if (p->deserialized_state != p->state) {
if (p->deserialized_state == PATH_WAITING ||
- p->deserialized_state == PATH_RUNNING) {
- hashmap_put(deferred_work, u, &path_enter_waiting_coldplug);
- path_set_state(p, PATH_WAITING);
- } else
+ p->deserialized_state == PATH_RUNNING)
+ path_enter_waiting(p, true, true);
+ else
path_set_state(p, p->deserialized_state);
}