diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-05-18 04:16:33 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-05-18 04:16:33 +0200 |
commit | a4312405f209ff19fa071b15bda843f4e68ffbbc (patch) | |
tree | a66e85031550fd0f97a1fd58218511da1dd9f810 | |
parent | b86d44e5abc05dd13ad89cf1a4a69f32203f73e6 (diff) |
manager: before entering loop dispatch queued up SIGCHLDs
-rw-r--r-- | src/manager.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/manager.c b/src/manager.c index 688d9fa65b..f6f205fac8 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; |