optionally skip dlclose() of IMCs/IMVs in order to track memory leaks
authorAndreas Steffen <andreas.steffen@strongswan.org>
Sun, 9 Dec 2012 18:35:23 +0000 (19:35 +0100)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Sun, 9 Dec 2012 18:35:23 +0000 (19:35 +0100)
src/libcharon/plugins/tnc_imc/tnc_imc.c
src/libcharon/plugins/tnc_imv/tnc_imv.c

index d49f3dd..9ac5784 100644 (file)
@@ -21,6 +21,7 @@
 #include <tncif_pa_subtypes.h>
 
 #include <utils/debug.h>
+#include <daemon.h>
 #include <library.h>
 #include <collections/linked_list.h>
 #include <threading/mutex.h>
@@ -302,7 +303,8 @@ METHOD(imc_t, type_supported, bool,
 METHOD(imc_t, destroy, void,
        private_tnc_imc_t *this)
 {
-       if (this->handle)
+       if (this->handle && lib->settings->get_bool(lib->settings,
+               "%s.plugins.tnc-imc.dlclose", TRUE, charon->name))
        {
                dlclose(this->handle);
        }
index f7b1276..ef0387d 100644 (file)
@@ -21,6 +21,7 @@
 #include <tncif_pa_subtypes.h>
 
 #include <utils/debug.h>
+#include <daemon.h>
 #include <library.h>
 #include <collections/linked_list.h>
 #include <threading/mutex.h>
@@ -298,7 +299,8 @@ METHOD(imv_t, type_supported, bool,
 METHOD(imv_t, destroy, void,
        private_tnc_imv_t *this)
 {
-       if (this->handle)
+       if (this->handle && lib->settings->get_bool(lib->settings,
+               "%s.plugins.tnc-imv.dlclose", TRUE, charon->name))
        {
                dlclose(this->handle);
        }