From e1c59a2515022b080e7d12209cd5615bfe06541c Mon Sep 17 00:00:00 2001 From: Ming Liu Date: Thu, 3 Mar 2022 14:16:24 +0100 Subject: [PATCH] Fix some wrong return values of run tasks When a run task is started with svc->started = 1, it should be considered started successfully or failed on the other hand. Signed-off-by: Sergio Morlans Signed-off-by: Ming Liu --- src/initctl.c | 11 +++++++++-- src/svc.h | 5 ++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/initctl.c b/src/initctl.c index d8235ff8..67e0e6a3 100644 --- a/src/initctl.c +++ b/src/initctl.c @@ -791,8 +791,15 @@ static int show_status(char *arg) if (!svc) return 255; - if (quiet) - return svc->state != SVC_RUNNING_STATE; + if (quiet) { + if (svc_is_runtask(svc)) + if (svc->started) + return 0; + else + return 1; + else + return svc->state != SVC_RUNNING_STATE; + } pidfn = svc->pidfile; if (pidfn[0] == '!') diff --git a/src/svc.h b/src/svc.h index 3a670fe4..d6baeb29 100644 --- a/src/svc.h +++ b/src/svc.h @@ -332,7 +332,10 @@ static inline char *svc_status(svc_t *svc) return "unknown"; case SVC_DONE_STATE: - return "done"; + if (svc->started) + return "done"; + else + return "failed"; case SVC_STOPPING_STATE: switch (svc->type) {