Make leak detective public

This commit is contained in:
Martin Willi
2011-05-16 15:22:21 +02:00
parent 42e0f26e53
commit f37e8252a3
3 changed files with 8 additions and 18 deletions
+5 -15
View File
@@ -40,13 +40,6 @@ struct private_library_t {
* public functions * public functions
*/ */
library_t public; 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); this->public.integrity->destroy(this->public.integrity);
} }
#ifdef LEAK_DETECTIVE if (lib->leak_detective)
if (this->detective)
{ {
this->detective->report(this->detective, detailed); lib->leak_detective->report(lib->leak_detective, detailed);
this->detective->destroy(this->detective); lib->leak_detective->destroy(lib->leak_detective);
} }
#endif /* LEAK_DETECTIVE */
threads_deinit(); threads_deinit();
@@ -106,10 +97,9 @@ bool library_init(char *settings)
threads_init(); threads_init();
lib->leak_detective = FALSE; lib->leak_detective = NULL;
#ifdef LEAK_DETECTIVE #ifdef LEAK_DETECTIVE
this->detective = leak_detective_create(); lib->leak_detective = leak_detective_create();
#endif /* LEAK_DETECTIVE */ #endif /* LEAK_DETECTIVE */
pfh = printf_hook_create(); pfh = printf_hook_create();
+3 -2
View File
@@ -78,6 +78,7 @@
#include "credentials/credential_factory.h" #include "credentials/credential_factory.h"
#include "credentials/credential_manager.h" #include "credentials/credential_manager.h"
#include "credentials/cred_encoding.h" #include "credentials/cred_encoding.h"
#include "utils/leak_detective.h"
typedef struct library_t library_t; typedef struct library_t library_t;
@@ -147,9 +148,9 @@ struct library_t {
integrity_checker_t *integrity; integrity_checker_t *integrity;
/** /**
* is leak detective running? * Leak detective, if built and enabled
*/ */
bool leak_detective; leak_detective_t *leak_detective;
}; };
/** /**
-1
View File
@@ -526,7 +526,6 @@ leak_detective_t *leak_detective_create()
fprintf(stderr, "setting CPU affinity failed: %m"); fprintf(stderr, "setting CPU affinity failed: %m");
} }
lib->leak_detective = TRUE;
install_hooks(); install_hooks();
} }
return &this->public; return &this->public;