base-files: use restart if no reload hook for service
This was also working before, with a slightly different semantic. [ Original semantic ] If no reload hooks was implemented, the default one would kick in, it would return fail, and restart would happen. This would happen also in the case where a reload hook would be implemented, it would fail, and it would restart the service. [ New semantic ] The default reload hook calls restart. Services can implement their own reload. If reload fails, then the '/etc/init.d/<service> reload' would return a non-zero code, and the caller can choose a way to handle this. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This commit is contained in:
parent
a124f0739b
commit
6713694fe4
1 changed files with 3 additions and 4 deletions
|
@ -17,7 +17,7 @@ stop() {
|
|||
}
|
||||
|
||||
reload() {
|
||||
return 1
|
||||
restart
|
||||
}
|
||||
|
||||
restart() {
|
||||
|
@ -68,7 +68,7 @@ Available commands:
|
|||
start Start the service
|
||||
stop Stop the service
|
||||
restart Restart the service
|
||||
reload Reload configuration files (or restart if that fails)
|
||||
reload Reload configuration files (or restart if service does not implement reload)
|
||||
enable Enable service autostart
|
||||
disable Disable service autostart
|
||||
$EXTRA_HELP
|
||||
|
@ -130,7 +130,7 @@ ${INIT_TRACE:+set -x}
|
|||
if eval "type reload_service" 2>/dev/null >/dev/null; then
|
||||
reload_service "$@"
|
||||
else
|
||||
start
|
||||
restart
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -141,5 +141,4 @@ ${INIT_TRACE:+set -x}
|
|||
|
||||
ALL_COMMANDS="start stop reload restart boot shutdown enable disable enabled depends ${EXTRA_COMMANDS}"
|
||||
list_contains ALL_COMMANDS "$action" || action=help
|
||||
[ "$action" = "reload" ] && action='eval reload "$@" || restart "$@" && :'
|
||||
$action "$@"
|
||||
|
|
Loading…
Reference in a new issue