@@ -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"