diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/main.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/main.c b/src/core/main.c index c7a7a87e7a..1326b94f68 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -1500,6 +1500,15 @@ int main(int argc, char *argv[]) { } } + if (arg_running_as == MANAGER_USER) { + /* Become reaper of our children */ + r = prctl(PR_SET_CHILD_SUBREAPER, 1); + if (r < 0) + log_error("Failed to prctl(PR_SET_CHILD_SUBREAPER): %s", strerror(-r)); + if (r == -EINVAL) + log_error("Perhaps the kernel version is too old (< 3.4?)"); + } + r = manager_new(arg_running_as, &m); if (r < 0) { log_error("Failed to allocate manager object: %s", strerror(-r)); |