1
與我的可執行文件運行valgrind --leak_check=yes
我得到以下錯誤。Valgrind pthread_create災難
==17325== 136 bytes in 1 blocks are possibly lost in loss record 17 of 21
==17325== at 0x4004C42: calloc (vg_replace_malloc.c:418)
==17325== by 0xCC5CA9: _dl_allocate_tls (in /lib/ld-2.5.so)
==17325== by 0xD0BF5C: [email protected]@GLIBC_2.1 (in /lib/libpthread-2.5.so)
==17325== by 0x8049334: init (prog.c:238)
==17325== by 0x804C94F: main (prog.c:163)
它指向我的pthread_create調用。創建線程後我調用了pthread_detach。我不想調用pthread_join。我搜索了這個,發現很多人面臨同樣的問題,但我找不到確切的原因。這是因爲pthread庫的行爲嗎?有人可以提供很好的鏈接來討論這個問題。
@我不想加入該線程。我在某處讀到,調用pthread_join將解決問題,並在valgrind中不給出任何錯誤。我出於同樣的原因調用了pthread_detach。 – Bruce 2012-04-01 03:38:03
我編輯了相應的問題。 – Bruce 2012-04-01 03:38:51