Как я могу убить pthread, который находится в бесконечном цикле, вне этого цикла?
Я создаю поток и помещаю его в бесконечный цикл. Утечки памяти при проверке кода с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;
}
Таким образом, поток создается в main и просто запускает thread_do () все время. Есть ли способ убить его изнутриглавный через 2 секунды? Я пробовал обаpthread_detach(th)
а такжеpthread_cancel(th)
но я все еще получаю утечки.