bug 351160: make openrc exit codes LSB compliant

* status on a stopped service now has a return code of 3 (was 1)
* starting an already started service now has a return code of 0 (was 1)
* stopping an already stopped service now has a return code of 0 (was 1)
This commit is contained in:
Eray Aslan 2011-01-12 19:46:11 -06:00 committed by William Hubbs
parent 84eda608c8
commit 66abbefd6c
2 changed files with 9 additions and 5 deletions

View File

@ -101,7 +101,7 @@ _status()
return 0
else
einfo "status: stopped"
return 1
return 3
fi
}

View File

@ -596,8 +596,10 @@ svc_start_check(void)
fcntl(exclusive_fd, F_SETFD,
fcntl(exclusive_fd, F_GETFD, 0) | FD_CLOEXEC);
if (state & RC_SERVICE_STARTED)
ewarnx("WARNING: %s has already been started", applet);
if (state & RC_SERVICE_STARTED) {
ewarn("WARNING: %s has already been started", applet);
exit(EXIT_SUCCESS);
}
else if (state & RC_SERVICE_INACTIVE && !in_background)
ewarnx("WARNING: %s has already started, but is inactive",
applet);
@ -845,8 +847,10 @@ svc_stop_check(RC_SERVICE *state)
fcntl(exclusive_fd, F_SETFD,
fcntl(exclusive_fd, F_GETFD, 0) | FD_CLOEXEC);
if (*state & RC_SERVICE_STOPPED)
ewarnx("WARNING: %s is already stopped", applet);
if (*state & RC_SERVICE_STOPPED) {
ewarn("WARNING: %s is already stopped", applet);
exit(EXIT_SUCCESS);
}
rc_service_mark(service, RC_SERVICE_STOPPING);
hook_out = RC_HOOK_SERVICE_STOP_OUT;