summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--server/server.go17
1 files changed, 10 insertions, 7 deletions
diff --git a/server/server.go b/server/server.go
index 889e677e..379623a3 100644
--- a/server/server.go
+++ b/server/server.go
@@ -1744,19 +1744,22 @@ func (server *BgpServer) deleteNeighbor(c *config.Neighbor, code, subcode uint8)
n.fsm.sendNotification(code, subcode, nil, "")
go func(addr string) {
- logfatal := func() {
+ t1 := time.AfterFunc(time.Minute*5, func() {
log.WithFields(log.Fields{
"Topic": "Peer",
- }).Fatalf("Failed to free the fsm.h.t for %s", addr)
- }
- t := time.AfterFunc(time.Minute*5, logfatal)
+ }).Warnf("Failed to free the fsm.h.t for %s", addr)
+ })
n.fsm.h.t.Kill(nil)
n.fsm.h.t.Wait()
- t.Stop()
- t = time.AfterFunc(time.Minute*5, logfatal)
+ t1.Stop()
+ t2 := time.AfterFunc(time.Minute*5, func() {
+ log.WithFields(log.Fields{
+ "Topic": "Peer",
+ }).Warnf("Failed to free the fsm.t for %s", addr)
+ })
n.fsm.t.Kill(nil)
n.fsm.t.Wait()
- t.Stop()
+ t2.Stop()
}(addr)
delete(server.neighborMap, addr)
server.dropPeerAllRoutes(n, n.configuredRFlist())