Make test_threads more generic
This commit is contained in:
parent
e025c5158b
commit
e270a8f936
@ -10,23 +10,12 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <jemalloc/jemalloc.h>
|
#include <jemalloc/jemalloc.h>
|
||||||
#include <windows.h>
|
|
||||||
|
|
||||||
using std::vector;
|
using std::vector;
|
||||||
using std::thread;
|
using std::thread;
|
||||||
using std::uniform_int_distribution;
|
using std::uniform_int_distribution;
|
||||||
using std::minstd_rand;
|
using std::minstd_rand;
|
||||||
|
|
||||||
#if NDEBUG && JEMALLOC_ISSUE_318_WORKAROUND
|
|
||||||
extern "C" JEMALLOC_EXPORT void _malloc_thread_cleanup(void);
|
|
||||||
|
|
||||||
static thread_local struct JeMallocThreadHelper {
|
|
||||||
~JeMallocThreadHelper() {
|
|
||||||
_malloc_thread_cleanup();
|
|
||||||
}
|
|
||||||
} tls_jemallocThreadHelper;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int test_threads()
|
int test_threads()
|
||||||
{
|
{
|
||||||
je_malloc_conf = "narenas:3";
|
je_malloc_conf = "narenas:3";
|
||||||
@ -91,7 +80,7 @@ int test_threads()
|
|||||||
size_t allocated2;
|
size_t allocated2;
|
||||||
je_mallctl("stats.active", &allocated2, &sz1, NULL, 0);
|
je_mallctl("stats.active", &allocated2, &sz1, NULL, 0);
|
||||||
size_t leaked = allocated2 - allocated1;
|
size_t leaked = allocated2 - allocated1;
|
||||||
printf("\nDone. Leaked: %Id bytes\n", leaked);
|
printf("\nDone. Leaked: %zd bytes\n", leaked);
|
||||||
bool failed = leaked > 65536; // in case C++ runtime allocated something (e.g. iostream locale or facet)
|
bool failed = leaked > 65536; // in case C++ runtime allocated something (e.g. iostream locale or facet)
|
||||||
printf("\nTest %s!\n", (failed ? "FAILED" : "successful"));
|
printf("\nTest %s!\n", (failed ? "FAILED" : "successful"));
|
||||||
printf("\nPress Enter to continue...\n");
|
printf("\nPress Enter to continue...\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user