summaryrefslogtreecommitdiff
path: root/src/monitor/monitor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/monitor/monitor.c')
-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 */