Remove restart(); add framework for reload() support

OpenRC will never call restart(), so scrap the definition in
openrc-run.sh and s6.sh.
 reload() caused a weird error message when used without
supervisor=s6, so add proper support for generic reload(),
instantiated for s6, and with a better default error message
for other backends - which can now add support for reload()
down the line.

 Also clarify a comment, and add info messages on s6_reload.
This commit is contained in:
Laurent Bercot 2026-01-05 15:42:15 +01:00 committed by navi
parent a951b9a216
commit 099375266e
2 changed files with 20 additions and 7 deletions

View File

@ -203,6 +203,17 @@ default_status()
$func
}
default_reload()
{
case "$supervisor" in
s6) s6_reload ;;
?*)
eerror "$RC_SVCNAME: undefined function 'reload'"
exit 1
;;
esac
}
# Template start / stop / status functions
# package init scripts may override these, but the bodies are as minimal as
# possible, so that the init scripts can creatively wrap default_*
@ -222,6 +233,11 @@ status()
default_status
}
reload()
{
default_reload
}
# Start debug output
yesno $RC_DEBUG && set -x

View File

@ -115,7 +115,7 @@ _s6_servicedir_create() {
fi
{
# We use execline here because it makes code generation easier.
# Generating execline code here because it is much easier than generating sh.
# The command will still be interpreted by sh in the end.
echo "#!$_execlineb -S1"
if test -n "$umask" ; then
@ -222,12 +222,9 @@ s6_status() {
fi
}
restart() {
_s6_set_variables
s6-svc -r -- "$_service"
}
reload() {
s6_reload() {
_s6_set_variables
ebegin "Reloading $name"
s6-svc -h -- "$_service"
eend $? "s6-svc -h command failed"
}