From: Alexandru Ardelean Date: Fri, 31 Mar 2017 06:44:19 +0000 (+0300) Subject: base-files: use restart if no reload hook for service X-Git-Tag: v18.06.0-rc1~3140 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=6713694fe4377f0988e2d558a6cd9b05ca9b18f1 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/ reload' would return a non-zero code, and the caller can choose a way to handle this. Signed-off-by: Alexandru Ardelean --- diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common index 95cf956366..af7bed4f92 100755 --- a/package/base-files/files/etc/rc.common +++ b/package/base-files/files/etc/rc.common @@ -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 "$@"