diff options
author | Lennart Poettering <lennart@poettering.net> | 2014-03-03 17:14:07 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2014-03-03 17:55:32 +0100 |
commit | e66cf1a3f94fff48a572f6dbd19b43c9bcf7b8c7 (patch) | |
tree | e3580f7a1e9aaca01ada8575a1ea50a7a32dd2d3 /src/core/service.c | |
parent | b64a3d86bcc3b3698824019d0ebdc2117ad31bb5 (diff) |
core: introduce new RuntimeDirectory= and RuntimeDirectoryMode= unit settings
As discussed on the ML these are useful to manage runtime directories
below /run for services.
Diffstat (limited to 'src/core/service.c')
-rw-r--r-- | src/core/service.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/service.c b/src/core/service.c index 6de24ec5bd..121ddec6ad 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -1770,6 +1770,7 @@ static int service_spawn( UNIT(s)->manager->confirm_spawn, UNIT(s)->manager->cgroup_supported, path, + manager_get_runtime_prefix(UNIT(s)->manager), UNIT(s)->id, s->watchdog_usec, s->type == SERVICE_IDLE ? UNIT(s)->manager->idle_pipe : NULL, @@ -1871,10 +1872,13 @@ static void service_enter_dead(Service *s, ServiceResult f, bool allow_restart) s->forbid_restart = false; - /* we want fresh tmpdirs in case service is started again immediately */ + /* We want fresh tmpdirs in case service is started again immediately */ exec_runtime_destroy(s->exec_runtime); s->exec_runtime = exec_runtime_unref(s->exec_runtime); + /* Also, remove the runtime directory in */ + exec_context_destroy_runtime_directory(&s->exec_context, manager_get_runtime_prefix(UNIT(s)->manager)); + /* Try to delete the pid file. At this point it will be * out-of-date, and some software might be confused by it, so * let's remove it. */ |