From 338c93733d238f78cbad4b9d96f8592edf86af13 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Mon, 27 Apr 2009 09:06:30 +0000 Subject: Fix the nstop keyword. --- src/rc/rc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/rc/rc.c b/src/rc/rc.c index 0a4fba11..0be79011 100644 --- a/src/rc/rc.c +++ b/src/rc/rc.c @@ -607,8 +607,10 @@ do_stop_services(const char *newlevel, bool parallel) else nstop = false; rc_stringlist_free(kwords); - if (nstop) + if (nstop) { + rc_service_mark(service->value, RC_SERVICE_FAILED); continue; + } /* If the service has crashed, skip futher checks and just stop it */ @@ -687,7 +689,9 @@ do_start_services(bool parallel) TAILQ_FOREACH(service, start_services, entries) { state = rc_service_state(service->value); - if (!(state & (RC_SERVICE_STOPPED | RC_SERVICE_FAILED))) { + if (state & RC_SERVICE_FAILED) + continue; + if (!(state & RC_SERVICE_STOPPED)) { if (crashed && rc_service_daemons_crashed(service->value)) rc_service_mark(service->value, -- cgit v1.2.3