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 2e02b9b2d1
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>
This commit is contained in:
Donald Sharp 2017-03-01 20:26:06 -05:00
parent fa48eee332
commit 6bf1fe4727

View File

@ -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));