summaryrefslogtreecommitdiff
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 16:26:03 +0100
commit9f217cfb13074e5bdc2cde3e29b9b1938958ee5f (patch)
treeb4547fa79b4df85698caeccf43ba6fcdecfe19b1
parentae86a405b8f5b8be3d63648555c6c1430794ac71 (diff)
downloadsssd-9f217cfb13074e5bdc2cde3e29b9b1938958ee5f.tar.gz
sssd-9f217cfb13074e5bdc2cde3e29b9b1938958ee5f.tar.bz2
sssd-9f217cfb13074e5bdc2cde3e29b9b1938958ee5f.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 71f91572..4dd14282 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 */