From f08419abdf8840f09dbaff0078dfb60a87cb6a14 Mon Sep 17 00:00:00 2001 From: Maximilian Wilhelm <max@sdn.clinic> Date: Wed, 4 Jul 2018 16:57:31 +0200 Subject: [PATCH] Fix counting bug in RoutingTable when removing paths or prefixes. Signed-off-by: Maximilian Wilhelm <max@sdn.clinic> --- routingtable/table.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/routingtable/table.go b/routingtable/table.go index 16317e6f..5fcb911c 100644 --- a/routingtable/table.go +++ b/routingtable/table.go @@ -71,13 +71,13 @@ func (rt *RoutingTable) RemovePath(pfx net.Prefix, p *route.Path) { rt.mu.Lock() defer rt.mu.Unlock() - if rt.removePath(pfx, p) { - atomic.AddInt64(&rt.routeCount, -1) - } + rt.removePath(pfx, p) } -func (rt *RoutingTable) removePath(pfx net.Prefix, p *route.Path) bool { - return rt.root.removePath(pfx, p) +func (rt *RoutingTable) removePath(pfx net.Prefix, p *route.Path) { + if rt.root.removePath(pfx, p) { + atomic.AddInt64(&rt.routeCount, -1) + } } func (rt *RoutingTable) removePaths(pfx net.Prefix, paths []*route.Path) { -- GitLab