aboutsummaryrefslogtreecommitdiff
path: root/initd/supervisor.c
diff options
context:
space:
mode:
Diffstat (limited to 'initd/supervisor.c')
-rw-r--r--initd/supervisor.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/initd/supervisor.c b/initd/supervisor.c
index cd38469..451ad93 100644
--- a/initd/supervisor.c
+++ b/initd/supervisor.c
@@ -156,6 +156,14 @@ bool supervisor_process_queues(void)
svc = queue;
queue = queue->next;
+ if (!(svc->flags & SVC_FLAG_HAS_EXEC)) {
+ print_status(svc->desc, STATUS_OK, false);
+ svc->status = EXIT_SUCCESS;
+ svc->next = completed;
+ completed = svc;
+ goto out;
+ }
+
if (start_service(svc) != 0)
return true;
@@ -171,7 +179,7 @@ bool supervisor_process_queues(void)
singleshot += 1;
break;
}
-
+out:
if (singleshot == 0 && queue == NULL && !waiting)
target_completed(target);
return true;