Docker: limited the waiting time for control socket removal.

Fixes https://github.com/nginx/unit/issues/728
Refs https://github.com/nginx/unit/issues/718
This commit is contained in:
Konstantin Pavlov
2022-12-13 13:36:39 -08:00
parent f09d0e2284
commit 63cc4a31bd

View File

@@ -2,6 +2,9 @@
set -e set -e
WAITLOOPS=5
SLEEPSEC=1
curl_put() curl_put()
{ {
RET=$(/usr/bin/curl -s -w '%{http_code}' -X PUT --data-binary @$1 --unix-socket /var/run/control.unit.sock http://localhost/$2) RET=$(/usr/bin/curl -s -w '%{http_code}' -X PUT --data-binary @$1 --unix-socket /var/run/control.unit.sock http://localhost/$2)
@@ -57,7 +60,18 @@ if [ "$1" = "unitd" ] || [ "$1" = "unitd-debug" ]; then
echo "$0: Stopping Unit daemon after initial configuration..." echo "$0: Stopping Unit daemon after initial configuration..."
kill -TERM $(/bin/cat /var/run/unit.pid) kill -TERM $(/bin/cat /var/run/unit.pid)
while [ -S /var/run/control.unit.sock ]; do echo "$0: Waiting for control socket to be removed..."; /bin/sleep 0.1; done for i in $(/usr/bin/seq $WAITLOOPS); do
if [ -S /var/run/control.unit.sock ]; then
echo "$0 Waiting for control socket to be removed..."
/bin/sleep $SLEEPSEC
else
break
fi
done
if [ -S /var/run/control.unit.sock ]; then
kill -KILL $(/bin/cat /var/run/unit.pid)
rm -f /var/run/control.unit.sock
fi
echo echo
echo "$0: Unit initial configuration complete; ready for start up..." echo "$0: Unit initial configuration complete; ready for start up..."