[Buildroot] [PATCH 1/1] package/nginx/S50nginx: Do not assume start-stop-daemon knows -R.

Thomas Claveirole thomas.claveirole at green-communications.fr
Mon Oct 9 09:50:49 UTC 2017


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 at dell.be.48ers.dk>.

Signed-off-by: Thomas Claveirole <thomas.claveirole at green-communications.fr>
---
 package/nginx/S50nginx | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

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
 	;;
   *)
-- 
2.14.2



More information about the buildroot mailing list