diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-08-21 07:47:17 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-21 07:47:17 -0400 |
| commit | 63b02a77ca13359e136281af9d9edd3b7493b42d (patch) | |
| tree | 67062f7b98d41b2f6e916141866e6c907126b50e /lib/libfrr.c | |
| parent | 3c8954852c3e051dea5790dba0ddf535fa221024 (diff) | |
| parent | 0ed9196b0c196ad1b240a77709d1452a2fa42c80 (diff) | |
Merge pull request #929 from opensourcerouting/hooks-doc-irdp
hook improvements, more hooks, doc example, IRDP cleanup
Diffstat (limited to 'lib/libfrr.c')
| -rw-r--r-- | lib/libfrr.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/libfrr.c b/lib/libfrr.c index a5c87e6edc..255f91ec71 100644 --- a/lib/libfrr.c +++ b/lib/libfrr.c @@ -37,6 +37,8 @@ #include "network.h" DEFINE_HOOK(frr_late_init, (struct thread_master * tm), (tm)) +DEFINE_KOOH(frr_early_fini, (), ()) +DEFINE_KOOH(frr_fini, (), ()) const char frr_sysconfdir[] = SYSCONFDIR; const char frr_vtydir[] = DAEMON_VTY_DIR; @@ -831,3 +833,22 @@ void frr_run(struct thread_master *master) while (thread_fetch(master, &thread)) thread_call(&thread); } + +void frr_early_fini(void) +{ + hook_call(frr_early_fini); +} + +void frr_fini(void) +{ + hook_call(frr_fini); + + /* memory_init -> nothing needed */ + vty_terminate(); + cmd_terminate(); + zprivs_terminate(di->privs); + /* signal_init -> nothing needed */ + thread_master_free(master); + closezlog(); + /* frrmod_init -> nothing needed / hooks */ +} |
