diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-10-31 15:49:19 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2018-10-31 18:00:53 +0100 |
commit | 1ad6e8b302e87b6891a2bfc35ad397b0afe3d940 (patch) | |
tree | 6774046555362e81a01127a86da8415e8d93a1f3 /src/core/unit.h | |
parent | strv: wrap strv_new() in a macro so that NULL sentinel is implicit (diff) | |
download | systemd-1ad6e8b302e87b6891a2bfc35ad397b0afe3d940.tar.xz systemd-1ad6e8b302e87b6891a2bfc35ad397b0afe3d940.zip |
core: split environment block mantained by PID 1's Manager object in two
This splits the "environment" field of Manager into two:
transient_environment and client_environment. The former is generated
from configuration file, kernel cmdline, environment generators. The
latter is the one the user can control with "systemctl set-environment"
and similar.
Both sets are merged transparently whenever needed. Separating the two
sets has the benefit that we can safely flush out the former while
keeping the latter during daemon reload cycles, so that env var settings
from env generators or configuration files do not accumulate, but
dynamic API changes are kept around.
Note that this change is not entirely transparent to users: if the user
first uses "set-environment" to override a transient variable, and then
uses "unset-environment" to unset it again things will revert to the
original transient variable now, while previously the variable was fully
removed. This change in behaviour should not matter too much though I
figure.
Fixes: #9972
Diffstat (limited to 'src/core/unit.h')
-rw-r--r-- | src/core/unit.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/unit.h b/src/core/unit.h index 1aea658e97..b6ef9d97ee 100644 --- a/src/core/unit.h +++ b/src/core/unit.h @@ -777,7 +777,7 @@ int unit_acquire_invocation_id(Unit *u); bool unit_shall_confirm_spawn(Unit *u); -void unit_set_exec_params(Unit *s, ExecParameters *p); +int unit_set_exec_params(Unit *s, ExecParameters *p); int unit_fork_helper_process(Unit *u, const char *name, pid_t *ret); |