[Buildroot] [git commit] package/shairport-sync: fix init script (stop)

Peter Korsgaard peter at korsgaard.com
Fri Dec 21 13:55:17 UTC 2018


commit: https://git.buildroot.net/buildroot/commit/?id=6568b939293e46718434e284bded04b746fbd80f
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

shairport-sync creates its pidfile at /var/run/shairport-sync/, so pass
that path to start-stop-daemon in the stop operation.

Also pass the executable path, allowing start-stop-daemon to check if
the PID matches the shairport-sync process, preventing killing some
other inocent daemon.

Fixes:
  https://bugs.busybox.net/show_bug.cgi?id=11566

Reported-by: Bin Zhang <yangtze31 at gmail.com>
Signed-off-by: Carlos Santos <casantos at datacom.com.br>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 package/shairport-sync/S99shairport-sync | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/package/shairport-sync/S99shairport-sync b/package/shairport-sync/S99shairport-sync
index 5443ed138c..80b2fddbc6 100644
--- a/package/shairport-sync/S99shairport-sync
+++ b/package/shairport-sync/S99shairport-sync
@@ -6,16 +6,18 @@ OPTIONS="-d"
 case "$1" in
     start)
 	printf "Starting shairport-sync: "
-	start-stop-daemon -S -q -p /var/run/shairport-sync.pid --exec /usr/bin/shairport-sync -- $OPTIONS
+	start-stop-daemon -S -q --exec /usr/bin/shairport-sync -- $OPTIONS
 	[ $? = 0 ] && echo "OK" || echo "FAIL"
 	;;
     stop)
 	printf "Stopping shairport-sync: "
-	start-stop-daemon -K -q -p /var/run/shairport-sync.pid
+	start-stop-daemon -K -q --exec /usr/bin/shairport-sync \
+		-p /var/run/shairport-sync/shairport-sync.pid
 	[ $? = 0 ] && echo "OK" || echo "FAIL"
 	;;
     restart)
 	$0 stop
+	sleep 1
 	$0 start
 	;;
     *)


More information about the buildroot mailing list