diff --git a/src/core/manager.c b/src/core/manager.c index 5021e00b87..b54c021c75 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -3703,18 +3703,6 @@ Set *manager_get_units_requiring_mounts_for(Manager *m, const char *path) { return hashmap_get(m->units_requiring_mounts_for, streq(p, "/") ? "" : p); } -void manager_set_exec_params(Manager *m, ExecParameters *p) { - assert(m); - assert(p); - - p->environment = m->environment; - p->confirm_spawn = manager_get_confirm_spawn(m); - p->cgroup_supported = m->cgroup_supported; - p->prefix = m->prefix; - - SET_FLAG(p->flags, EXEC_PASS_LOG_UNIT|EXEC_CHOWN_DIRECTORIES, MANAGER_IS_SYSTEM(m)); -} - int manager_update_failed_units(Manager *m, Unit *u, bool failed) { unsigned size; int r; diff --git a/src/core/manager.h b/src/core/manager.h index c785861bfb..fc70593def 100644 --- a/src/core/manager.h +++ b/src/core/manager.h @@ -435,8 +435,6 @@ void manager_flip_auto_status(Manager *m, bool enable); Set *manager_get_units_requiring_mounts_for(Manager *m, const char *path); -void manager_set_exec_params(Manager *m, ExecParameters *p); - ManagerState manager_state(Manager *m); int manager_update_failed_units(Manager *m, Unit *u, bool failed); diff --git a/src/core/mount.c b/src/core/mount.c index 914458f8e6..cb8dda8557 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -781,7 +781,6 @@ static int mount_spawn(Mount *m, ExecCommand *c, pid_t *_pid) { if (r < 0) return r; - manager_set_exec_params(UNIT(m)->manager, &exec_params); unit_set_exec_params(UNIT(m), &exec_params); r = exec_spawn(UNIT(m), diff --git a/src/core/service.c b/src/core/service.c index 3c1dbdfe0f..ab4626f51b 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -1449,7 +1449,6 @@ static int service_spawn( } } - manager_set_exec_params(UNIT(s)->manager, &exec_params); unit_set_exec_params(UNIT(s), &exec_params); final_env = strv_env_merge(2, exec_params.environment, our_env, NULL); diff --git a/src/core/socket.c b/src/core/socket.c index 703f9f760f..38ad8820be 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -1910,7 +1910,6 @@ static int socket_spawn(Socket *s, ExecCommand *c, pid_t *_pid) { if (r < 0) return r; - manager_set_exec_params(UNIT(s)->manager, &exec_params); unit_set_exec_params(UNIT(s), &exec_params); exec_params.argv = c->argv; diff --git a/src/core/swap.c b/src/core/swap.c index fffd8d4627..6e5e88b473 100644 --- a/src/core/swap.c +++ b/src/core/swap.c @@ -632,7 +632,6 @@ static int swap_spawn(Swap *s, ExecCommand *c, pid_t *_pid) { if (r < 0) goto fail; - manager_set_exec_params(UNIT(s)->manager, &exec_params); unit_set_exec_params(UNIT(s), &exec_params); r = exec_spawn(UNIT(s), diff --git a/src/core/unit.c b/src/core/unit.c index 68f29137b8..0ad7dc108b 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -4999,6 +4999,14 @@ void unit_set_exec_params(Unit *u, ExecParameters *p) { assert(u); assert(p); + /* Copy parameters from manager */ + p->environment = u->manager->environment; + p->confirm_spawn = manager_get_confirm_spawn(u->manager); + p->cgroup_supported = u->manager->cgroup_supported; + p->prefix = u->manager->prefix; + SET_FLAG(p->flags, EXEC_PASS_LOG_UNIT|EXEC_CHOWN_DIRECTORIES, MANAGER_IS_SYSTEM(u->manager)); + + /* Copy paramaters from unit */ p->cgroup_path = u->cgroup_path; SET_FLAG(p->flags, EXEC_CGROUP_DELEGATE, unit_cgroup_delegate(u)); }