summaryrefslogtreecommitdiff
path: root/src/core/execute.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-02-12 12:21:16 +0100
committerLennart Poettering <lennart@poettering.net>2015-02-12 12:21:16 +0100
commit4c08c8242a687e00b289e948ccd07b96f0bc4866 (patch)
tree98c5a144940529cb0f7cb3ae8910ce75799c3edf /src/core/execute.c
parenta38d99451f2bf8026ec51aee91662292e823c6a8 (diff)
core: don't fail to run services in --user instances if $HOME is missing
Otherwise we cannot even invoke systemd-exit.service anymore, thus not even exit. https://bugs.freedesktop.org/show_bug.cgi?id=83100 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=759320
Diffstat (limited to 'src/core/execute.c')
-rw-r--r--src/core/execute.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/execute.c b/src/core/execute.c
index 7b071e8c9..1f6072c6a 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
@@ -1617,7 +1617,8 @@ static int exec_child(
return -errno;
}
- if (chdir(context->working_directory ? context->working_directory : "/") < 0) {
+ if (chdir(context->working_directory ?: "/") < 0 &&
+ !context->working_directory_missing_ok) {
*exit_status = EXIT_CHDIR;
return -errno;
}