diff --git a/files/scripts/syncd.sh b/files/scripts/syncd.sh index 08c50a2c37c5..2fb239928301 100755 --- a/files/scripts/syncd.sh +++ b/files/scripts/syncd.sh @@ -96,17 +96,21 @@ stop() { debug "Warm boot flag: ${SERVICE} ${WARM_BOOT}." if [[ x"$WARM_BOOT" == x"true" ]]; then - debug "Warm shutdown syncd process ..." - /usr/bin/docker exec -i syncd /usr/bin/syncd_request_shutdown --warm + TYPE=warm + else + TYPE=cold + fi - # wait until syncd quits gracefully - while docker top syncd | grep -q /usr/bin/syncd; do - sleep 0.1 - done + debug "${TYPE} shutdown syncd process ..." + /usr/bin/docker exec -i syncd /usr/bin/syncd_request_shutdown --${TYPE} - /usr/bin/docker exec -i syncd /bin/sync - debug "Finished warm shutdown syncd process ..." - fi + # wait until syncd quits gracefully + while docker top syncd | grep -q /usr/bin/syncd; do + sleep 0.1 + done + + /usr/bin/docker exec -i syncd /bin/sync + debug "Finished ${TYPE} shutdown syncd process ..." /usr/bin/${SERVICE}.sh stop debug "Stopped ${SERVICE} service..."