package/watchdogd: fix sysv init script
PIDFILE was set incorrectly, watchdogd writes its PID file to /var/run/watchdogd/pid (note the slash), which is not configurable without patching. Restructure the rest of the script to match current style while at it. Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
committed by
Peter Korsgaard
parent
bfb87bafdb
commit
51b848b534
@@ -1262,7 +1262,6 @@ package/waffle/0003-drop-C-dependency.patch lib_patch.Upstream
|
||||
package/wampcc/0001-Add-RISC-V-endian-detection.patch lib_patch.Upstream
|
||||
package/wampcc/0002-include-wampcc-platform.h-fix-build-with-musl-1.2.0.patch lib_patch.Upstream
|
||||
package/wampcc/0003-Broken-build-on-Windows.patch lib_patch.Upstream
|
||||
package/watchdogd/S01watchdogd NotExecutable lib_sysv.Indent
|
||||
package/wget/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch lib_patch.Upstream
|
||||
package/wilc-driver/0001-cfg80211.c-fix-missing-prandom_u32-with-Linux-6.1.0.patch lib_patch.Upstream
|
||||
package/wilc-driver/0002-spi.c-fix-build-failure-on-remove-callback.patch lib_patch.Upstream
|
||||
|
||||
102
package/watchdogd/S01watchdogd
Executable file → Normal file
102
package/watchdogd/S01watchdogd
Executable file → Normal file
@@ -1,47 +1,77 @@
|
||||
#!/bin/sh
|
||||
|
||||
DAEMON="watchdogd"
|
||||
PIDFILE="/var/run/$DAEMON.pid"
|
||||
PIDFILE="/var/run/$DAEMON/pid"
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
|
||||
|
||||
cmd()
|
||||
{
|
||||
start-stop-daemon -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" "$@"
|
||||
status=$?
|
||||
if [ $status -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return $status
|
||||
start() {
|
||||
printf "Starting %s: " "$DAEMON"
|
||||
# shellcheck disable=SC2086 # we need the word splitting
|
||||
start-stop-daemon --start --pidfile "$PIDFILE" \
|
||||
--exec "/usr/sbin/$DAEMON" -- $WATCHDOGD_ARGS
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
stop() {
|
||||
printf "Stopping %s: " "$DAEMON"
|
||||
start-stop-daemon --stop --pidfile "$PIDFILE" \
|
||||
--exec "/usr/sbin/$DAEMON"
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
# watchdogd deletes its PID file on exit, wait for it to be gone
|
||||
while [ -f "$PIDFILE" ]; do
|
||||
sleep 0.1
|
||||
done
|
||||
return "$status"
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
reload() {
|
||||
printf "Reloading %s config: " "$DAEMON"
|
||||
start-stop-daemon --stop --signal HUP -q --pidfile "$PIDFILE" \
|
||||
--exec "/usr/sbin/$DAEMON"
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
printf 'Starting %s: ' "$DAEMON"
|
||||
# shellcheck disable=SC2086 # we need the word splitting
|
||||
cmd -S -- $SMCROUTED_ARGS
|
||||
;;
|
||||
|
||||
stop)
|
||||
printf 'Stopping %s: ' "$DAEMON"
|
||||
cmd -K
|
||||
;;
|
||||
|
||||
restart)
|
||||
$0 stop
|
||||
sleep 1
|
||||
$0 start
|
||||
;;
|
||||
|
||||
reload)
|
||||
printf 'Reloading %s: ' "$DAEMON"
|
||||
cmd -K -s HUP
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload}"
|
||||
exit 1
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
reload)
|
||||
reload
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $?
|
||||
|
||||
Reference in New Issue
Block a user