📄 thread_leak_test.c
字号:
#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 5main() { 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();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -