diff options
author | Martin Willi <martin@revosec.ch> | 2011-04-29 14:52:32 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2011-05-16 15:22:21 +0200 |
commit | f37e8252a358e33e3a11701c99e5e63d20ce784f (patch) | |
tree | bc07ed13ec15530a9b43a144a8e25be21120f31b | |
parent | 42e0f26e5339745f180e7b284beae32b8fb27c4d (diff) | |
download | strongswan-f37e8252a358e33e3a11701c99e5e63d20ce784f.tar.bz2 strongswan-f37e8252a358e33e3a11701c99e5e63d20ce784f.tar.xz |
Make leak detective public
-rw-r--r-- | src/libstrongswan/library.c | 20 | ||||
-rw-r--r-- | src/libstrongswan/library.h | 5 | ||||
-rw-r--r-- | src/libstrongswan/utils/leak_detective.c | 1 |
3 files changed, 8 insertions, 18 deletions
diff --git a/src/libstrongswan/library.c b/src/libstrongswan/library.c index b7e75aec5..9fc99e3a9 100644 --- a/src/libstrongswan/library.c +++ b/src/libstrongswan/library.c @@ -40,13 +40,6 @@ struct private_library_t { * public functions */ library_t public; - -#ifdef LEAK_DETECTIVE - /** - * Memory leak detective, if enabled - */ - leak_detective_t *detective; -#endif /* LEAK_DETECTIVE */ }; /** @@ -81,13 +74,11 @@ void library_deinit() this->public.integrity->destroy(this->public.integrity); } -#ifdef LEAK_DETECTIVE - if (this->detective) + if (lib->leak_detective) { - this->detective->report(this->detective, detailed); - this->detective->destroy(this->detective); + lib->leak_detective->report(lib->leak_detective, detailed); + lib->leak_detective->destroy(lib->leak_detective); } -#endif /* LEAK_DETECTIVE */ threads_deinit(); @@ -106,10 +97,9 @@ bool library_init(char *settings) threads_init(); - lib->leak_detective = FALSE; - + lib->leak_detective = NULL; #ifdef LEAK_DETECTIVE - this->detective = leak_detective_create(); + lib->leak_detective = leak_detective_create(); #endif /* LEAK_DETECTIVE */ pfh = printf_hook_create(); diff --git a/src/libstrongswan/library.h b/src/libstrongswan/library.h index 034ff10c5..b1c577855 100644 --- a/src/libstrongswan/library.h +++ b/src/libstrongswan/library.h @@ -78,6 +78,7 @@ #include "credentials/credential_factory.h" #include "credentials/credential_manager.h" #include "credentials/cred_encoding.h" +#include "utils/leak_detective.h" typedef struct library_t library_t; @@ -147,9 +148,9 @@ struct library_t { integrity_checker_t *integrity; /** - * is leak detective running? + * Leak detective, if built and enabled */ - bool leak_detective; + leak_detective_t *leak_detective; }; /** diff --git a/src/libstrongswan/utils/leak_detective.c b/src/libstrongswan/utils/leak_detective.c index a295ce419..e770e1224 100644 --- a/src/libstrongswan/utils/leak_detective.c +++ b/src/libstrongswan/utils/leak_detective.c @@ -526,7 +526,6 @@ leak_detective_t *leak_detective_create() fprintf(stderr, "setting CPU affinity failed: %m"); } - lib->leak_detective = TRUE; install_hooks(); } return &this->public; |