diff options
author | Roy Marples <roy@marples.name> | 2007-07-02 22:07:58 +0000 |
---|---|---|
committer | Roy Marples <roy@marples.name> | 2007-07-02 22:07:58 +0000 |
commit | f23b6d0e95346a93db3fbf8dbec300f8e6a7b12a (patch) | |
tree | 6b9cca0209de2a0d2addd07477d8419fe2b5f629 /src | |
parent | 3a9375c7df490156276ab3e59a27dd7b13902040 (diff) |
Don't wait for services that were inactive, #183667 thanks to Daniel Drake
Diffstat (limited to 'src')
-rw-r--r-- | src/runscript.c | 7 |
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)) |