aboutsummaryrefslogtreecommitdiff
path: root/src/runscript.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/runscript.c')
-rw-r--r--src/runscript.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/runscript.c b/src/runscript.c
index 18515372..8bebf746 100644
--- a/src/runscript.c
+++ b/src/runscript.c
@@ -656,8 +656,13 @@ static void svc_start (bool deps)
tmplist = NULL;
STRLIST_FOREACH (services, svc, i) {
- if (rc_service_state (svc, rc_service_started))
+ /* don't wait for services which went inactive but are now in
+ * starting state */
+ if (rc_service_state (svc, rc_service_started) ||
+ (rc_service_state (svc, rc_service_starting) &&
+ rc_service_state(svc, rc_service_wasinactive)))
continue;
+
if (! rc_wait_service (svc))
eerror ("%s: timed out waiting for %s", applet, svc);
if (rc_service_state (svc, rc_service_started))