3 # include "private/config.h"
10 #include "leak_detector.h"
21 void * test(void * arg)
23 DWORD WINAPI test(LPVOID arg)
28 for (i = 0; i < 10; ++i) {
29 p[i] = malloc(sizeof(int)+i);
32 for (i = 1; i < 10; ++i) {
38 return (DWORD)(GC_word)arg;
47 pthread_t t[NTHREADS];
54 GC_set_find_leak(1); /* for new collect versions not compiled */
55 /* with -DFIND_LEAK. */
58 for (i = 0; i < NTHREADS; ++i) {
60 code = pthread_create(t + i, 0, test, 0);
62 t[i] = CreateThread(NULL, 0, test, 0, 0, &thread_id);
63 code = t[i] != NULL ? 0 : (int)GetLastError();
66 printf("Thread creation failed %d\n", code);
70 for (i = 0; i < NTHREADS; ++i) {
72 code = pthread_join(t[i], 0);
74 code = WaitForSingleObject(t[i], INFINITE) == WAIT_OBJECT_0 ? 0 :
78 printf("Thread join failed %d\n", code);