diff options
| author | Russ White <russ@riw.us> | 2025-03-20 12:48:47 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-20 12:48:47 -0400 |
| commit | 37fd4519976d3428df1d21aee1858b53ecfb045f (patch) | |
| tree | b9c0acfa3ddf0de8bc2716e307bcdc6c7c8f9811 /zebra/main.c | |
| parent | 361f80a64b69640dbbf472e77d6d04d2e62f409a (diff) | |
| parent | 4d6f5c7e27b231b7bb4a8a2a10d80f08c63cbd42 (diff) | |
Merge pull request #18409 from donaldsharp/typesafe_zclient
Typesafe zclient
Diffstat (limited to 'zebra/main.c')
| -rw-r--r-- | zebra/main.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/zebra/main.c b/zebra/main.c index fd242e762a..5c169bb839 100644 --- a/zebra/main.c +++ b/zebra/main.c @@ -134,7 +134,6 @@ static void sigint(void) { struct vrf *vrf; struct zebra_vrf *zvrf; - struct listnode *ln, *nn; struct zserv *client; static bool sigint_done; @@ -163,15 +162,13 @@ static void sigint(void) zebra_dplane_pre_finish(); /* Clean up GR related info. */ - zebra_gr_stale_client_cleanup(zrouter.stale_client_list); - list_delete_all_node(zrouter.stale_client_list); + zebra_gr_stale_client_cleanup(); /* Clean up zapi clients and server module */ - for (ALL_LIST_ELEMENTS(zrouter.client_list, ln, nn, client)) + frr_each_safe (zserv_client_list, &zrouter.client_list, client) zserv_close_client(client); zserv_close(); - list_delete_all_node(zrouter.client_list); /* Once all the zclients are cleaned up, clean up the opaque module */ zebra_opaque_finish(); @@ -202,9 +199,6 @@ static void sigint(void) rib_update_finish(); - list_delete(&zrouter.client_list); - list_delete(&zrouter.stale_client_list); - /* * Besides other clean-ups zebra's vrf_disable() also enqueues installed * routes for removal from the kernel, unless ZEBRA_VRF_RETAIN is set. @@ -256,6 +250,10 @@ void zebra_finalize(struct event *dummy) ns_walk_func(zebra_ns_final_shutdown, NULL, NULL); ns_terminate(); + + zserv_client_list_fini(&zrouter.client_list); + zserv_stale_client_list_fini(&zrouter.stale_client_list); + frr_fini(); exit(0); } |
