Я создаю поток, и я помещаю его в бесконечный цикл. При проверке кода с valgrind я получаю утечки памяти. Вот мой код:
#include <pthread.h>
#include <time.h>
void thread_do(void){
while(1){}
}
int main(){
pthread_t th;
pthread_create(&th, NULL, (void *)thread_do, NULL);
sleep(2);
/* I want to kill thread here */
sleep(2);
return 0;
}
Итак, поток создается в основном и просто запускает thread_do() все время. Есть ли способ убить его изнутри через 2 секунды? Я пробовал как pthread_detach(th)
, так и pthread_cancel(th)
, но у меня все еще есть утечки.