diff --git a/zebra/main.c b/zebra/main.c index 038022ceb2..275d9af5d2 100644 --- a/zebra/main.c +++ b/zebra/main.c @@ -183,6 +183,9 @@ static void sigint(void) } } + if (zrouter.lsp_process_q) + work_queue_free_and_null(&zrouter.lsp_process_q); + vrf_terminate(); ns_walk_func(zebra_ns_early_shutdown, NULL, NULL); diff --git a/zebra/zebra_router.c b/zebra/zebra_router.c index 4ce756c953..a80c573855 100644 --- a/zebra/zebra_router.c +++ b/zebra/zebra_router.c @@ -235,9 +235,6 @@ void zebra_router_terminate(void) RB_FOREACH_SAFE (zrt, zebra_router_table_head, &zrouter.tables, tmp) zebra_router_free_table(zrt); - if (zrouter.lsp_process_q) - work_queue_free_and_null(&zrouter.lsp_process_q); - work_queue_free_and_null(&zrouter.ribq); meta_queue_free(zrouter.mq);