From 8ea76e0986920f57f12b56c57872edf106064982 Mon Sep 17 00:00:00 2001 From: "Fiona Klute (WIWA)" Date: Tue, 10 Dec 2024 17:22:42 +0100 Subject: [PATCH] package/bluez5_utils: tidy up the init script * use long-form options * consistently use start-stop-daemon with --exec * wait for process to be gone and delete PID file on stop Signed-off-by: Fiona Klute (WIWA) Signed-off-by: Thomas Petazzoni --- package/bluez5_utils/S40bluetoothd | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/package/bluez5_utils/S40bluetoothd b/package/bluez5_utils/S40bluetoothd index ee4abe8b63..04f3f5ee94 100644 --- a/package/bluez5_utils/S40bluetoothd +++ b/package/bluez5_utils/S40bluetoothd @@ -11,7 +11,8 @@ BLUETOOTHD_ARGS="-n" start() { printf 'Starting %s: ' "$DAEMON" # shellcheck disable=SC2086 # we need the word splitting - start-stop-daemon -S -q -m -b -p "$PIDFILE" -x "/usr/libexec/bluetooth/$DAEMON" \ + start-stop-daemon --start --background --make-pidfile \ + --pidfile "$PIDFILE" --exec "/usr/libexec/bluetooth/$DAEMON" \ -- $BLUETOOTHD_ARGS status=$? if [ "$status" -eq 0 ]; then @@ -24,25 +25,32 @@ start() { stop() { printf 'Stopping %s: ' "$DAEMON" - start-stop-daemon -K -q -p "$PIDFILE" + start-stop-daemon --stop --pidfile "$PIDFILE" \ + --exec "/usr/libexec/bluetooth/$DAEMON" status=$? if [ "$status" -eq 0 ]; then echo "OK" else echo "FAIL" + return "$status" fi + while start-stop-daemon --stop --test --quiet --pidfile "$PIDFILE" \ + --exec "/usr/libexec/bluetooth/$DAEMON"; do + sleep 0.1 + done + rm -f "$PIDFILE" return "$status" } restart() { stop - sleep 1 start } reload() { printf 'Reloading %s: ' "$DAEMON" - start-stop-daemon -K -s HUP -q -p "$PIDFILE" + start-stop-daemon --stop --signal HUP -q --pidfile "$PIDFILE" \ + --exec "/usr/libexec/bluetooth/$DAEMON" status=$? if [ "$status" -eq 0 ]; then echo "OK"