X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fmanager.c;h=f6f205fac8aefc6383516b4530ee0cd7f7bd82fd;hp=688d9fa65b28e831217faee879cf4977a241006f;hb=a4312405f209ff19fa071b15bda843f4e68ffbbc;hpb=e99e38bbdcca3fe5956823bdb3d38544ccf93221 diff --git a/src/manager.c b/src/manager.c index 688d9fa65..f6f205fac 100644 --- a/src/manager.c +++ b/src/manager.c @@ -1939,6 +1939,11 @@ int manager_loop(Manager *m) { assert(m); m->exit_code = MANAGER_RUNNING; + /* There might still be some zombies hanging around from + * before we were exec()'ed. Leat's reap them */ + if ((r = manager_dispatch_sigchld(m)) < 0) + return r; + while (m->exit_code == MANAGER_RUNNING) { struct epoll_event event; int n;