[swss/syncd] cold start syncd service in swss in attach method (#2639)

start() is called by service startPre method, which is blocking. Starting
syncd service here is causing deadlock.

attach() is called by service start method, which is non-blocking.

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
This commit is contained in:
Ying Xie 2019-03-04 16:46:55 -08:00 committed by Ying Xie
parent e5b8302fee
commit deab95cff6

View File

@ -78,6 +78,14 @@ function clean_up_tables()
end" 0 end" 0
} }
startPeerService() {
check_warm_boot
if [[ x"$WARM_BOOT" != x"true" ]]; then
/bin/systemctl start ${PEER}
fi
}
start() { start() {
debug "Starting ${SERVICE} service..." debug "Starting ${SERVICE} service..."
@ -105,13 +113,10 @@ start() {
# Unlock has to happen before reaching out to peer service # Unlock has to happen before reaching out to peer service
unlock_service_state_change unlock_service_state_change
if [[ x"$WARM_BOOT" != x"true" ]]; then
/bin/systemctl start ${PEER}
fi
} }
attach() { attach() {
startPeerService
/usr/bin/${SERVICE}.sh attach /usr/bin/${SERVICE}.sh attach
} }