From: Thomas Claveirole Date: Mon, 9 Oct 2017 09:50:49 +0000 (+0200) Subject: package/nginx/S50nginx: Do not assume start-stop-daemon knows -R. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=99b8044a6714e925c504c0e3fc46f3730e0fe572;p=buildroot.git 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 Signed-off-by: Peter Korsgaard --- diff --git a/package/nginx/S50nginx b/package/nginx/S50nginx index a854c651d1..964652b922 100755 --- a/package/nginx/S50nginx +++ b/package/nginx/S50nginx @@ -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 ;; *)