Fix multiple calls to disconnect

This commit is contained in:
Louis
2018-06-14 17:13:05 -07:00
parent 86dee2780c
commit a57fe8cf1e

View File

@@ -197,12 +197,13 @@ func (n *Neighbor) Connect() error {
func (n *Neighbor) Disconnect() { func (n *Neighbor) Disconnect() {
log.Infof("%v: Disconnected", n.String()) log.Infof("%v: Disconnected", n.String())
wasConnected := n.Connected
n.Connected = false n.Connected = false
n.State.OpenReceived = false n.State.OpenReceived = false
n.tcpconn.Close() n.tcpconn.Close()
n.UpdateState(STATE_IDLE) n.UpdateState(STATE_IDLE)
if n.HandlerEvent != nil { if n.HandlerEvent != nil && wasConnected == true {
n.HandlerEvent.DisconnectedNeighbor(n) n.HandlerEvent.DisconnectedNeighbor(n)
} }