summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Jakma <paul.jakma@sun.com>2006-03-30 14:12:38 +0000
committerPaul Jakma <paul.jakma@sun.com>2006-03-30 14:12:38 +0000
commita625ca3cd2df6016aef97096eb927b783eb26d7f (patch)
tree9681829543d5eeba5b55df3361b30e4e7c1cfc91
parentb51f126edee1c170e69951f92033e3e5aec2862d (diff)
[bgpd] release peer specific clear queue in peer_free
2006-03-22 Paul Jakma <paul.jakma@sun.com> * bgpd.c: (peer_free) release the per-peer workqueue when freeing the peer.
-rw-r--r--bgpd/ChangeLog5
-rw-r--r--bgpd/bgpd.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog
index 3f0cad7d..26897f3c 100644
--- a/bgpd/ChangeLog
+++ b/bgpd/ChangeLog
@@ -1,3 +1,8 @@
+2006-03-22 Paul Jakma <paul.jakma@sun.com>
+
+ * bgpd.c: (peer_free) release the per-peer workqueue when
+ freeing the peer.
+
2006-03-19 Paul Jakma <paul.jakma@sun.com>
* bgpd/bgp_vty.c: Add includes to get several structs we want
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index 9f694f5e..b574a9aa 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -700,7 +700,10 @@ peer_free (struct peer *peer)
if (peer->update_if)
XFREE (MTYPE_PEER_UPDATE_SOURCE, peer->update_if);
-
+
+ if (peer->clear_node_queue)
+ work_queue_free (peer->clear_node_queue);
+
memset (peer, 0, sizeof (struct peer));
XFREE (MTYPE_BGP_PEER, peer);