diff options
Diffstat (limited to 'init/init.c')
-rwxr-xr-x | init/init.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/init/init.c b/init/init.c index 7b4a963..d10ca47 100755 --- a/init/init.c +++ b/init/init.c @@ -315,7 +315,11 @@ static void service_stop_or_reset(struct service *svc, int how) /* if the service has not yet started, prevent * it from auto-starting with its class */ - svc->flags |= how; + if (how == SVC_RESET) { + svc->flags |= (svc->flags & SVC_RC_DISABLED) ? SVC_DISABLED : SVC_RESET; + } else { + svc->flags |= how; + } if (svc->pid) { NOTICE("service '%s' is being killed\n", svc->name); |