diff options
Diffstat (limited to 'src/runscript.c')
-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)) |