summaryrefslogtreecommitdiff
path: root/src/core/unit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/unit.c')
-rw-r--r--src/core/unit.c25
1 files changed, 9 insertions, 16 deletions
diff --git a/src/core/unit.c b/src/core/unit.c
index e921b48fc4..70a2b57fa3 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -2875,34 +2875,27 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) {
return 0;
}
-static int unit_add_deserialized_job_coldplug(Unit *u) {
- int r;
-
- r = manager_add_job(u->manager, u->deserialized_job, u, JOB_IGNORE_REQUIREMENTS, false, NULL, NULL);
- if (r < 0)
- return r;
-
- u->deserialized_job = _JOB_TYPE_INVALID;
-
- return 0;
-}
-
-int unit_coldplug(Unit *u, Hashmap *deferred_work) {
+int unit_coldplug(Unit *u) {
int r;
assert(u);
if (UNIT_VTABLE(u)->coldplug)
- if ((r = UNIT_VTABLE(u)->coldplug(u, deferred_work)) < 0)
+ if ((r = UNIT_VTABLE(u)->coldplug(u)) < 0)
return r;
if (u->job) {
r = job_coldplug(u->job);
if (r < 0)
return r;
- } else if (u->deserialized_job >= 0)
+ } else if (u->deserialized_job >= 0) {
/* legacy */
- hashmap_put(deferred_work, u, &unit_add_deserialized_job_coldplug);
+ r = manager_add_job(u->manager, u->deserialized_job, u, JOB_IGNORE_REQUIREMENTS, false, NULL, NULL);
+ if (r < 0)
+ return r;
+
+ u->deserialized_job = _JOB_TYPE_INVALID;
+ }
return 0;
}