summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-03-01 20:26:06 -0500
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-03-01 20:26:06 -0500
commit6bf1fe47276a68b0f44651a5f37a9c911d6141bd (patch)
treebe6c65ef74df5b6e04575a92e951b3630c3b3426
parentfa48eee332735c108a77db1db358417f853cf434 (diff)
bgpd: Fix memory leaks on shutdown
The original code on shutdown assumed a 'forced' mode if there was no process_main_queue. This construct was violated by commit 2e02b9b2d1ed29975001d6917f9f726854ec5559 due to not fully understanding the shutdown process. If we are shutting down, don't store work to do later, just gracefully don't do it. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
-rw-r--r--bgpd/bgp_route.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 353ecd6934..b19fe96376 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -2062,7 +2062,7 @@ bgp_process (struct bgp *bgp, struct bgp_node *rn, afi_t afi, safi_t safi)
return;
if (bm->process_main_queue == NULL)
- bgp_process_queue_init ();
+ return;
pqnode = XCALLOC (MTYPE_BGP_PROCESS_QUEUE,
sizeof (struct bgp_process_queue));
@@ -2087,7 +2087,7 @@ bgp_add_eoiu_mark (struct bgp *bgp)
struct bgp_process_queue *pqnode;
if (bm->process_main_queue == NULL)
- bgp_process_queue_init ();
+ return;
pqnode = XCALLOC (MTYPE_BGP_PROCESS_QUEUE,
sizeof (struct bgp_process_queue));