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
*/
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();
+3 -2
View File
@@ -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;
};
/**
-1
View File
@@ -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;