X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Funit.c;h=4c1754f37f190c6609d426e7d072c3de16a42fa0;hp=20b139d31be6446aeb2090332a952337d6843988;hb=b46a529c7c2d8e1db000ff00ddf42fc9f86d54e1;hpb=d99a70529637d44cdd8f6ade3b981ea33f09d90d diff --git a/src/core/unit.c b/src/core/unit.c index 20b139d31..4c1754f37 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -686,6 +686,19 @@ int unit_add_exec_dependencies(Unit *u, ExecContext *c) { return r; } + if (u->manager->running_as != SYSTEMD_SYSTEM) + return 0; + + if (c->private_tmp) { + r = unit_require_mounts_for(u, "/tmp"); + if (r < 0) + return r; + + r = unit_require_mounts_for(u, "/var/tmp"); + if (r < 0) + return r; + } + if (c->std_output != EXEC_OUTPUT_KMSG && c->std_output != EXEC_OUTPUT_SYSLOG && c->std_output != EXEC_OUTPUT_JOURNAL && @@ -703,11 +716,9 @@ int unit_add_exec_dependencies(Unit *u, ExecContext *c) { /* If syslog or kernel logging is requested, make sure our own * logging daemon is run first. */ - if (u->manager->running_as == SYSTEMD_SYSTEM) { - r = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_JOURNALD_SOCKET, NULL, true); - if (r < 0) - return r; - } + r = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_JOURNALD_SOCKET, NULL, true); + if (r < 0) + return r; return 0; }