forked from Mirror/frr
eigrpd, mgmtd, ospf6d: frr_fini is last
I noticed that ospf6d always had a linked list memory leak. Tracking it down shows that frr_fini() shuts down the memory system and prints out memory not cleaned up. eigrpd, mgmtd and ospf6d all called cleanup functions after frr_fini leaving memory leaked that was not really leaked. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
parent
a3df790eb2
commit
eedbadf606
|
@ -94,10 +94,11 @@ static void sighup(void)
|
||||||
static void sigint(void)
|
static void sigint(void)
|
||||||
{
|
{
|
||||||
zlog_notice("Terminating on signal");
|
zlog_notice("Terminating on signal");
|
||||||
eigrp_terminate();
|
|
||||||
|
|
||||||
keychain_terminate();
|
keychain_terminate();
|
||||||
|
|
||||||
|
eigrp_terminate();
|
||||||
|
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -133,8 +133,10 @@ static void sigusr1(void)
|
||||||
static void quit(int exit_code)
|
static void quit(int exit_code)
|
||||||
{
|
{
|
||||||
EVENT_OFF(event_timeout);
|
EVENT_OFF(event_timeout);
|
||||||
frr_fini();
|
|
||||||
darr_free(__client_cbs.notif_xpaths);
|
darr_free(__client_cbs.notif_xpaths);
|
||||||
|
|
||||||
|
frr_fini();
|
||||||
|
|
||||||
exit(exit_code);
|
exit(exit_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -110,9 +110,10 @@ static void __attribute__((noreturn)) ospf6_exit(int status)
|
||||||
|
|
||||||
ospf6_master_delete();
|
ospf6_master_delete();
|
||||||
|
|
||||||
|
keychain_terminate();
|
||||||
|
|
||||||
frr_fini();
|
frr_fini();
|
||||||
|
|
||||||
keychain_terminate();
|
|
||||||
exit(status);
|
exit(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue