From 25ff1e88bb5f1b0a16a364d7206db3ebdc5ecf52 Mon Sep 17 00:00:00 2001 From: Barry Friedman Date: Thu, 3 Feb 2011 14:02:53 -0800 Subject: 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 --- bgpd/bgp_table.c | 1 - 1 file changed, 1 deletion(-) (limited to 'bgpd') diff --git a/bgpd/bgp_table.c b/bgpd/bgp_table.c index 91cab606..a249c23d 100644 --- a/bgpd/bgp_table.c +++ b/bgpd/bgp_table.c @@ -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++; -- cgit v1.2.1