Update to w3m-0.2.1-inu-1.6.
This commit is contained in:
		
							
								
								
									
										40
									
								
								gc/tests/thread_leak_test.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								gc/tests/thread_leak_test.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| #define GC_LINUX_THREADS | ||||
| #include "leak_detector.h" | ||||
| #include <pthread.h> | ||||
| #include <stdio.h> | ||||
|  | ||||
| void * test(void * arg) { | ||||
|     int *p[10]; | ||||
|     int i; | ||||
|     GC_find_leak = 1; /* for new collect versions not compiled  */ | ||||
|     /* with -DFIND_LEAK.                                        */ | ||||
|     for (i = 0; i < 10; ++i) { | ||||
|         p[i] = malloc(sizeof(int)+i); | ||||
|     } | ||||
|     CHECK_LEAKS(); | ||||
|     for (i = 1; i < 10; ++i) { | ||||
|         free(p[i]); | ||||
|     } | ||||
| }        | ||||
|  | ||||
| #define NTHREADS 5 | ||||
|  | ||||
| main() { | ||||
|     int i; | ||||
|     pthread_t t[NTHREADS]; | ||||
|     int code; | ||||
|  | ||||
|     for (i = 0; i < NTHREADS; ++i) { | ||||
| 	if ((code = pthread_create(t + i, 0, test, 0)) != 0) { | ||||
|     	    printf("Thread creation failed %d\n", code); | ||||
|         } | ||||
|     } | ||||
|     for (i = 0; i < NTHREADS; ++i) { | ||||
| 	if ((code = pthread_join(t[i], 0)) != 0) { | ||||
|             printf("Thread join failed %lu\n", code); | ||||
|         } | ||||
|     } | ||||
|     CHECK_LEAKS(); | ||||
|     CHECK_LEAKS(); | ||||
|     CHECK_LEAKS(); | ||||
| } | ||||
		Reference in New Issue
	
	Block a user