Make leak detective public
This commit is contained in:
@@ -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();
|
||||||
|
|||||||
@@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user