Valgrind will report memory leak when we run multi-threading application which uses pthread_create, but it’s NOT real memory leak.
R.F.
The buffer allocated at pthread_create() is used to extend the stack of threads. If you pthread_join() and pthread_create() again The old position in the stack will be used by the new one.
==4608== 68 bytes in 1 blocks are possibly lost in loss record 4 of 6
==4608== at 0x401DB0E: calloc (vg_replace_malloc.c:279)
==4608== by 0x400EBDC: _dl_allocate_tls (in /lib/ld-2.3.6.so)
==4608== by 0x40417BE: pthread_create@@GLIBC_2.1 (in
/lib/tls/libpthread-2.3.6.so)
==4608== by 0x80485C9: main (testpthread.c:21)