summaryrefslogtreecommitdiff
path: root/docker/haproxy
diff options
context:
space:
mode:
Diffstat (limited to 'docker/haproxy')
-rw-r--r--docker/haproxy/extend_start.sh13
1 files changed, 9 insertions, 4 deletions
diff --git a/docker/haproxy/extend_start.sh b/docker/haproxy/extend_start.sh
index c1914bb9e..e2d13f484 100644
--- a/docker/haproxy/extend_start.sh
+++ b/docker/haproxy/extend_start.sh
@@ -4,11 +4,16 @@
echo "Running command: '${CMD}'"
$CMD
-# TODO(SamYaple): This has the potential for a race condition triggered by a
-# config reload that could cause the container to exit
-while [[ -e "/proc/$(cat /run/haproxy.pid)" ]]; do
+retry=0
+# The loop breaks only when haproxy.pid get missing even after 3 re-try.
+while [[ $retry -lt 3 ]]; do
+ if [[ ! -e /run/haproxy.pid || ! -d /proc/$(cat /run/haproxy.pid) ]]; then
+ retry=$((retry+1))
+ sleep 2
+ continue
+ fi
+ retry=0
sleep 5
done
-# Based on the above loop this point should never be reached
exit 1