summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Michael <fedora.dm0@gmail.com>2016-07-07 20:43:01 -0700
committerLennart Poettering <lennart@poettering.net>2016-07-08 05:43:01 +0200
commit4f952a3f07313e0373e568cb777cd90b27304b63 (patch)
tree1a0efbe9270e0be8c1daae1f789debd8fb182a23
parent78a4ee591acc1424945ecfba517e97dc979cfd3b (diff)
core: queue loading transient units after setting their properties (#3676)
The unit load queue can be processed in the middle of setting the unit's properties, so its load_state would no longer be UNIT_STUB for the check in bus_unit_set_properties(), which would cause it to incorrectly return an error.
-rw-r--r--src/core/dbus-manager.c1
-rw-r--r--src/core/unit.c1
2 files changed, 1 insertions, 1 deletions
diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
index 86722e1162..d05968bd65 100644
--- a/src/core/dbus-manager.c
+++ b/src/core/dbus-manager.c
@@ -781,6 +781,7 @@ static int transient_unit_from_message(
return r;
/* Now load the missing bits of the unit we just created */
+ unit_add_to_load_queue(u);
manager_dispatch_load_queue(m);
*unit = u;
diff --git a/src/core/unit.c b/src/core/unit.c
index 8e5395361d..5f06a7dfe7 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -3505,7 +3505,6 @@ int unit_make_transient(Unit *u) {
unit_add_to_dbus_queue(u);
unit_add_to_gc_queue(u);
- unit_add_to_load_queue(u);
fputs("# This is a transient unit file, created programmatically via the systemd API. Do not edit.\n",
u->transient_file);