diff --git a/.checkpackageignore b/.checkpackageignore index 846cd8e1ec..914f3b5bb5 100644 --- a/.checkpackageignore +++ b/.checkpackageignore @@ -552,7 +552,6 @@ package/dmalloc/0004-Makefile-use-the-configure-detected-or-user-supplied.patch package/dmalloc/0005-configure-use-LD-instead-of-hard-coding-ld.patch lib_patch.Upstream package/dmraid/0001-fix-compilation-under-musl.patch lib_patch.Upstream package/dmraid/S20dmraid lib_sysv.Variables -package/dnsmasq/S80dnsmasq Shellcheck package/docker-engine/S60dockerd Shellcheck lib_sysv.Indent lib_sysv.Variables package/docopt-cpp/0001-only-build-one-target-use-BUILD_SHARED_LIBS-where-appropriate.patch lib_patch.Upstream package/domoticz/S99domoticz Shellcheck diff --git a/package/dnsmasq/S80dnsmasq b/package/dnsmasq/S80dnsmasq index 175daf9d26..f1e1a68585 100644 --- a/package/dnsmasq/S80dnsmasq +++ b/package/dnsmasq/S80dnsmasq @@ -10,12 +10,21 @@ case "$1" in printf "Starting dnsmasq: " start-stop-daemon -S -p "$PIDFILE" -x "/usr/sbin/$DAEMON" -- \ --pid-file="$PIDFILE" + # shellcheck disable=SC2181 [ $? = 0 ] && echo "OK" || echo "FAIL" ;; stop) printf "Stopping dnsmasq: " start-stop-daemon -K -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" + # shellcheck disable=SC2181 [ $? = 0 ] && echo "OK" || echo "FAIL" + # wait for dnsmasq process to be gone + while true; do + pid="$( cat "${PIDFILE}" 2>/dev/null || true )" + { [ -n "${pid}" ] && [ -d "/proc/${pid}" ]; } || break + sleep 0.1 + done + rm -f "$PIDFILE" ;; restart|reload) $0 stop