]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Fix zclient cleanup on shutdown
authorDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 30 Jun 2017 14:32:45 +0000 (10:32 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 30 Jun 2017 14:32:45 +0000 (10:32 -0400)
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_zlookup.c
pimd/pimd.c

index 779cc1418383681442c02ca379e882579ba106bf..e7ffe0f4adc9a31160cb570a929a59113ecaf06a 100644 (file)
@@ -115,6 +115,7 @@ static void zclient_lookup_failed(struct zclient *zlookup)
 void
 zclient_lookup_free (void)
 {
+  zclient_stop (zlookup);
   zclient_free (zlookup);
   zlookup = NULL;
 }
index c31d2a99a11a035eca9aa8023dcb37bcd4aded78..ec1fe5b6d0f2c34abf5213b4c4c6cb4ee4b529be 100644 (file)
@@ -313,6 +313,8 @@ void pim_init()
 
 void pim_terminate()
 {
+  struct zclient *zclient;
+
   pim_free();
 
   /* reverse prefix_list_init */
@@ -321,4 +323,11 @@ void pim_terminate()
   prefix_list_reset ();
 
   pim_vrf_terminate ();
+
+  zclient = pim_zebra_zclient_get ();
+  if (zclient)
+    {
+      zclient_stop (zclient);
+      zclient_free (zclient);
+    }
 }