diff options
-rw-r--r-- | initd/supervisor.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/initd/supervisor.c b/initd/supervisor.c index 3372e7f..1a131ac 100644 --- a/initd/supervisor.c +++ b/initd/supervisor.c @@ -105,9 +105,11 @@ void supervisor_handle_exited(pid_t pid, int status) print_status(svc->desc, rt->state); - waiting = false; - if (svc->type == SVC_ONCE) + if (svc->type == SVC_ONCE) { singleshot -= 1; + } else if (svc->type == SVC_WAIT) { + waiting = false; + } check_target_completion(); } |