aboutsummaryrefslogtreecommitdiff
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
parent3a9375c7df490156276ab3e59a27dd7b13902040 (diff)
Don't wait for services that were inactive, #183667 thanks to Daniel Drake
-rw-r--r--ChangeLog4
-rw-r--r--src/runscript.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ae87274e..ae62c339 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for Gentoo System Intialization ("rc") scripts
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPLv2
+ 02 Jul 2007; Roy Marples <uberlord@gentoo.org>:
+
+ Don't wait for services that were inactive, #183667 thanks to Daniel Drake
+
30 Jun 2007; Roy Marples <uberlord@gentoo.org>:
Don't set an early font if consolefont isn't in a runlevel, #183773.
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))