From: Lennart Poettering Date: Tue, 18 May 2010 02:16:33 +0000 (+0200) Subject: manager: before entering loop dispatch queued up SIGCHLDs X-Git-Tag: 0.git+20100605+dfd8ee-1~11^2^2~69 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a4312405f209ff19fa071b15bda843f4e68ffbbc;p=systemd manager: before entering loop dispatch queued up SIGCHLDs --- diff --git a/src/manager.c b/src/manager.c index 688d9fa6..f6f205fa 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;