bgpd: Remove extra lock on interior table node

If the radix tree creates an extra interior node in bgp_node_get(),
it locks the interior node even though this node is not returned to
the caller, so it may never be unlocked. The lock prevents this node
from being deleted.

* bgpd/bgp_table.c: (bgp_node_get) Remove lock on interior node which
  prevents proper node deletion
This commit is contained in:
Barry Friedman 2011-02-03 14:02:53 -08:00 committed by Paul Jakma
parent c099baf6f0
commit 25ff1e88bb

View File

@ -350,7 +350,6 @@ bgp_node_get (struct bgp_table *const table, struct prefix *p)
if (new->p.prefixlen != p->prefixlen)
{
match = new;
bgp_lock_node (match);
new = bgp_node_set (table, p);
set_link (match, new);
table->count++;