]> git.puffer.fish Git - mirror/frr.git/commitdiff
isisd, lib: Cleanup linked list associated with snmp 16539/head
authorDonald Sharp <sharpd@nvidia.com>
Thu, 8 Aug 2024 18:04:42 +0000 (14:04 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Thu, 8 Aug 2024 18:24:59 +0000 (14:24 -0400)
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
isisd/isis_snmp.c
lib/agentx.c
lib/smux.h

index f9e3780e29e3c78ffcb34a038bdf8139fd5af266..83a06b69980ba26d93987d4ed95ea095bb2598ed 100644 (file)
@@ -2826,6 +2826,13 @@ static int isis_snmp_init(struct event_loop *tm)
        return 0;
 }
 
+static int isis_snmp_terminate(void)
+{
+       smux_terminate();
+
+       return 0;
+}
+
 /*
  * ISIS notification functions: we have one function per notification
  */
@@ -3448,6 +3455,7 @@ static int isis_snmp_module_init(void)
        hook_register(isis_circuit_del_hook, isis_circuit_snmp_id_free);
 
        hook_register(frr_late_init, isis_snmp_init);
+       hook_register(frr_fini, isis_snmp_terminate);
        return 0;
 }
 
index 19f2a6b7fce85cc8cc86abc8e7d81a9233879e98..2e621d06a44dd25023bad1c41f09a815c7063ca2 100644 (file)
@@ -377,4 +377,9 @@ void smux_events_update(void)
        agentx_events_update();
 }
 
+void smux_terminate(void)
+{
+       if (events)
+               list_delete(&events);
+}
 #endif /* SNMP_AGENTX */
index 8ec847afd01f5ed08c2b9b6c0de0fda6df286435..0ed41410f57b89c5484adc44d55f0583702e4d95 100644 (file)
@@ -101,6 +101,7 @@ extern bool smux_enabled(void);
 
 extern void libagentx_init(void);
 extern void smux_init(struct event_loop *tm);
+extern void smux_terminate(void);
 extern void smux_agentx_enable(void);
 extern void smux_register_mib(const char *, struct variable *, size_t, int,
                              oid[], size_t);