mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
package/mosquitto: fix init script
Restart would regularly fail because it did not wait for the old process to be gone before starting the new one. Rewrite the script according to current style to fix that, and add reload support (see mosquitto docs for limitations of reload). Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
committed by
Thomas Petazzoni
parent
dd9c6907c7
commit
340a4bd4f8
@@ -822,7 +822,6 @@ package/mono-gtksharp3/0001-Fixes-MONO_PROFILE_ENTER_LEAVE-undeclared.patch lib_
|
||||
package/mono-gtksharp3/0002-Mono-compilation-error-branch.patch lib_patch.Upstream
|
||||
package/mono/0001-Fix-linkage-with-a-system-libatomic_ops-shared-library.patch lib_patch.Upstream
|
||||
package/mono/0002-Ongoing-work-on-the-cmake-build.patch lib_patch.Upstream
|
||||
package/mosquitto/S50mosquitto Shellcheck lib_sysv.Indent lib_sysv.Variables
|
||||
package/motion/S99motion Shellcheck lib_sysv.Indent lib_sysv.Variables
|
||||
package/mpir/0001-mpn-arm-udiv.asm-workaround-binutils-bug-14887.patch lib_patch.Upstream
|
||||
package/mpv/0001-fix-powerpc64-altivec.patch lib_patch.Upstream
|
||||
|
||||
@@ -1,35 +1,74 @@
|
||||
#!/bin/sh
|
||||
|
||||
DAEMON="mosquitto"
|
||||
PIDFILE="/var/run/$DAEMON.pid"
|
||||
MOSQUITTO_CONF="/etc/mosquitto/mosquitto.conf"
|
||||
|
||||
[ -f "$MOSQUITTO_CONF" ] || exit 0
|
||||
|
||||
start() {
|
||||
printf "Starting mosquitto: "
|
||||
start-stop-daemon -S -q -m -b -p /var/run/mosquitto.pid \
|
||||
--exec /usr/sbin/mosquitto \
|
||||
-- -c /etc/mosquitto/mosquitto.conf
|
||||
[ $? = 0 ] && echo "OK" || echo "FAIL"
|
||||
printf "Starting %s: " "$DAEMON"
|
||||
start-stop-daemon --start --background --make-pidfile \
|
||||
--pidfile "$PIDFILE" --exec "/usr/sbin/$DAEMON" \
|
||||
-- -c "$MOSQUITTO_CONF"
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
stop() {
|
||||
printf "Stopping mosquitto: "
|
||||
start-stop-daemon -K -q -p /var/run/mosquitto.pid
|
||||
[ $? = 0 ] && echo "OK" || echo "FAIL"
|
||||
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"
|
||||
return "$status"
|
||||
fi
|
||||
while start-stop-daemon --stop --test --quiet --pidfile "$PIDFILE" \
|
||||
--exec "/usr/sbin/$DAEMON"; do
|
||||
sleep 0.1
|
||||
done
|
||||
rm -f "$PIDFILE"
|
||||
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)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart|reload)
|
||||
restart
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
start)
|
||||
start;;
|
||||
stop)
|
||||
stop;;
|
||||
restart)
|
||||
restart;;
|
||||
reload)
|
||||
reload;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
||||
|
||||
Reference in New Issue
Block a user