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:
parent
84eda608c8
commit
66abbefd6c
@ -101,7 +101,7 @@ _status()
|
|||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
einfo "status: stopped"
|
einfo "status: stopped"
|
||||||
return 1
|
return 3
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -596,8 +596,10 @@ svc_start_check(void)
|
|||||||
fcntl(exclusive_fd, F_SETFD,
|
fcntl(exclusive_fd, F_SETFD,
|
||||||
fcntl(exclusive_fd, F_GETFD, 0) | FD_CLOEXEC);
|
fcntl(exclusive_fd, F_GETFD, 0) | FD_CLOEXEC);
|
||||||
|
|
||||||
if (state & RC_SERVICE_STARTED)
|
if (state & RC_SERVICE_STARTED) {
|
||||||
ewarnx("WARNING: %s has already been started", applet);
|
ewarn("WARNING: %s has already been started", applet);
|
||||||
|
exit(EXIT_SUCCESS);
|
||||||
|
}
|
||||||
else if (state & RC_SERVICE_INACTIVE && !in_background)
|
else if (state & RC_SERVICE_INACTIVE && !in_background)
|
||||||
ewarnx("WARNING: %s has already started, but is inactive",
|
ewarnx("WARNING: %s has already started, but is inactive",
|
||||||
applet);
|
applet);
|
||||||
@ -845,8 +847,10 @@ svc_stop_check(RC_SERVICE *state)
|
|||||||
fcntl(exclusive_fd, F_SETFD,
|
fcntl(exclusive_fd, F_SETFD,
|
||||||
fcntl(exclusive_fd, F_GETFD, 0) | FD_CLOEXEC);
|
fcntl(exclusive_fd, F_GETFD, 0) | FD_CLOEXEC);
|
||||||
|
|
||||||
if (*state & RC_SERVICE_STOPPED)
|
if (*state & RC_SERVICE_STOPPED) {
|
||||||
ewarnx("WARNING: %s is already stopped", applet);
|
ewarn("WARNING: %s is already stopped", applet);
|
||||||
|
exit(EXIT_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
rc_service_mark(service, RC_SERVICE_STOPPING);
|
rc_service_mark(service, RC_SERVICE_STOPPING);
|
||||||
hook_out = RC_HOOK_SERVICE_STOP_OUT;
|
hook_out = RC_HOOK_SERVICE_STOP_OUT;
|
||||||
|
Loading…
Reference in New Issue
Block a user