X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fcore%2Fmain.c;h=1326b94f689814ad6edeaec253cb29d74804cbc5;hb=d4447f4d955d5bfbdec6feec8e332b8c126f474a;hp=c7a7a87e7a6a525a336678b965980aa9ffc241e2;hpb=578ac0604e6c10b267f73e114bc2215aa3f6619a;p=elogind.git diff --git a/src/core/main.c b/src/core/main.c index c7a7a87e7..1326b94f6 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));