package/nginx/S50nginx: Do not assume start-stop-daemon knows -R.

start-stop-daemon fails on -R when not compiled with
CONFIG_FEATURE_START_STOP_DAEMON_FANCY.  Thus, do not rely on -R
during stop to avoid a race condition during restart.

Use a sleep 1 during restart instead, as suggested by Peter Korsgaard
in <87bmluk4bm.fsf@dell.be.48ers.dk>.

Signed-off-by: Thomas Claveirole <thomas.claveirole@green-communications.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Thomas Claveirole 2017-10-09 11:50:49 +02:00 committed by Peter Korsgaard
parent a46bb7d9af
commit 99b8044a67

View File

@ -14,10 +14,7 @@ case "$1" in
;;
stop)
echo "Stopping nginx..."
# Use -R 1 to wait for nginx to actually stop. Useful so
# restart has no race condition. Note that BusyBox knows
# about -R but ignores it silently.
start-stop-daemon -K -x "$NGINX" -p "$PIDFILE" -R 1 -o
start-stop-daemon -K -x "$NGINX" -p "$PIDFILE" -o
;;
reload|force-reload)
echo "Reloading nginx configuration..."
@ -25,6 +22,7 @@ case "$1" in
;;
restart)
"$0" stop
sleep 1 # Prevent race condition: ensure nginx stops before start.
"$0" start
;;
*)