Fix multiple calls to disconnect
This commit is contained in:
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user