summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOndrej Kos <okos@redhat.com>2013-06-19 14:42:40 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-06-25 10:42:36 +0200
commitaf380de3553b78af34655ca1b05f9816e8c3fe21 (patch)
tree64acd58b91a8072ff930c9b3f9dc32f7f96d503c
parent1554077521ea202bc886d6483b72e5ebdc10c520 (diff)
downloadsssd-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.c4
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 */