diff --git a/server/fsm.go b/server/fsm.go index 0e5e7e90..01fc01c4 100644 --- a/server/fsm.go +++ b/server/fsm.go @@ -645,8 +645,9 @@ func (h *FSMHandler) recvMessageWithError() (*FsmMsg, error) { // if the lenght of h.holdTimerResetCh // isn't zero, the timer will be reset // soon anyway. - if len(h.holdTimerResetCh) == 0 { - h.holdTimerResetCh <- true + select { + case h.holdTimerResetCh <- true: + default: } if m.Header.Type == bgp.BGP_MSG_KEEPALIVE { return nil, nil