summaryrefslogtreecommitdiffstats
path: root/bin/named
diff options
context:
space:
mode:
authorMartin Nagy <mnagy@redhat.com>2008-12-15 17:38:40 +0100
committerMartin Nagy <mnagy@redhat.com>2009-02-11 20:40:41 +0100
commitc76f8c86f453ad60719d31289b04f13ac244114c (patch)
treec776e71a184c3334d4449c9ccf28a6f00524a60a /bin/named
parentaad64960a5681975b032c1e4fcd133e8f806c9cb (diff)
downloadbind_dynamic-c76f8c86f453ad60719d31289b04f13ac244114c.tar.gz
bind_dynamic-c76f8c86f453ad60719d31289b04f13ac244114c.tar.xz
bind_dynamic-c76f8c86f453ad60719d31289b04f13ac244114c.zip
Use a destroy function to free all the resources.
The handle returned by dlopen() is now saved and the library is unloaded on exit. We also load symbol "dynamic_driver_destroy" which is a function with no arguments returning void. It is called on exit. The load_library() is now split into two functions, one function is specifically used to load symbols.
Diffstat (limited to 'bin/named')
-rw-r--r--bin/named/main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/bin/named/main.c b/bin/named/main.c
index aa6575a..8030e3d 100644
--- a/bin/named/main.c
+++ b/bin/named/main.c
@@ -44,6 +44,7 @@
#include <isccc/result.h>
#include <dns/dispatch.h>
+#include <dns/dynamic_db.h>
#include <dns/name.h>
#include <dns/result.h>
#include <dns/view.h>
@@ -778,6 +779,8 @@ cleanup(void) {
dlz_drivers_clear();
#endif
+ dns_dynamic_db_cleanup();
+
dns_name_destroy();
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,