aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2007-07-02 22:07:58 +0000
committerRoy Marples <roy@marples.name>2007-07-02 22:07:58 +0000
commitf23b6d0e95346a93db3fbf8dbec300f8e6a7b12a (patch)
tree6b9cca0209de2a0d2addd07477d8419fe2b5f629 /src
parent3a9375c7df490156276ab3e59a27dd7b13902040 (diff)
Don't wait for services that were inactive, #183667 thanks to Daniel Drake
Diffstat (limited to 'src')
-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))