diff --git a/.checkpackageignore b/.checkpackageignore index b10f69ec36..a4c93db24f 100644 --- a/.checkpackageignore +++ b/.checkpackageignore @@ -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 diff --git a/package/watchdogd/S01watchdogd b/package/watchdogd/S01watchdogd old mode 100755 new mode 100644 index df57b8ad7a..8f811ac0fc --- a/package/watchdogd/S01watchdogd +++ b/package/watchdogd/S01watchdogd @@ -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 $?