diff options
author | Ondrej Kos <okos@redhat.com> | 2013-06-19 14:42:40 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-06-25 11:56:48 +0200 |
commit | a0cf92bf59e02c5b5889d2b86a8ad98e75ee211a (patch) | |
tree | 7d4af5f4da541fbbce90957884ee5eca89e04b5e | |
parent | aea372fbfe7928f11dc430868445542c28dcfd41 (diff) | |
download | sssd-a0cf92bf59e02c5b5889d2b86a8ad98e75ee211a.tar.gz sssd-a0cf92bf59e02c5b5889d2b86a8ad98e75ee211a.tar.xz sssd-a0cf92bf59e02c5b5889d2b86a8ad98e75ee211a.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 */ |