mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-07-23 21:23:06 +00:00
Add support for Mingw
This commit is contained in:
@@ -7,6 +7,29 @@
|
||||
#include "jemalloc/internal/jemalloc_internal.h"
|
||||
|
||||
/* Abstraction layer for threading in tests */
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
|
||||
typedef HANDLE je_thread_t;
|
||||
|
||||
void
|
||||
je_thread_create(je_thread_t *thread, void *(*proc)(void *), void *arg)
|
||||
{
|
||||
LPTHREAD_START_ROUTINE routine = (LPTHREAD_START_ROUTINE)proc;
|
||||
*thread = CreateThread(NULL, 0, routine, arg, 0, NULL);
|
||||
if (*thread == NULL) {
|
||||
malloc_printf("Error in CreateThread()\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
je_thread_join(je_thread_t thread, void **ret)
|
||||
{
|
||||
WaitForSingleObject(thread, INFINITE);
|
||||
}
|
||||
|
||||
#else
|
||||
#include <pthread.h>
|
||||
|
||||
typedef pthread_t je_thread_t;
|
||||
@@ -27,3 +50,4 @@ je_thread_join(je_thread_t thread, void **ret)
|
||||
|
||||
pthread_join(thread, ret);
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user