diff options
author | Ondrej Kos <okos@redhat.com> | 2013-06-19 14:42:40 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-06-25 10:42:36 +0200 |
commit | af380de3553b78af34655ca1b05f9816e8c3fe21 (patch) | |
tree | 64acd58b91a8072ff930c9b3f9dc32f7f96d503c | |
parent | 1554077521ea202bc886d6483b72e5ebdc10c520 (diff) | |
download | sssd-af380de3553b78af34655ca1b05f9816e8c3fe21.tar.gz sssd-af380de3553b78af34655ca1b05f9816e8c3fe21.tar.xz sssd-af380de3553b78af34655ca1b05f9816e8c3fe21.zip |
Quit monitor when there's no more processes to stop
-rw-r--r-- | src/monitor/monitor.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c index 8f1be95af..a763a0f4d 100644 --- a/src/monitor/monitor.c +++ b/src/monitor/monitor.c @@ -1195,7 +1195,9 @@ static void monitor_quit(struct mt_ctx *mt_ctx, int ret) if (pid == -1) { /* An error occurred while waiting */ error = errno; - if (error != EINTR) { + if (error == ECHILD) { + killed = true; + } else if (error != EINTR) { DEBUG(0, ("[%d][%s] while waiting for [%s]\n", error, strerror(error), svc->name)); /* Forcibly kill this child */ |