summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAriel O. Barria <olivares73@hotmail.com>2012-11-21 14:36:15 -0500
committerJakub Hrozek <jhrozek@redhat.com>2012-11-28 17:34:25 +0100
commitc32fdb873a3fc0bc343915b27d28662ae46fdd0c (patch)
tree651a105b773b3aa890007bfe0cf938ba47fd96ef
parent343fa08af09beaad71980d7a382036dd9a1dddde (diff)
downloadsssd-c32fdb873a3fc0bc343915b27d28662ae46fdd0c.tar.gz
sssd-c32fdb873a3fc0bc343915b27d28662ae46fdd0c.tar.xz
sssd-c32fdb873a3fc0bc343915b27d28662ae46fdd0c.zip
Monitor quit when not exists no process no stops
https://fedorahosted.org/sssd/ticket/1669
-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 afec0b95f..a6e085728 100644
--- a/src/monitor/monitor.c
+++ b/src/monitor/monitor.c
@@ -1396,7 +1396,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 */