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) | |
| download | openrc-f23b6d0e95346a93db3fbf8dbec300f8e6a7b12a.tar.xz | |
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)) | 
