pthread_cancel目标线程没有销毁的问题
首先目标线程里面是一个while(1)循环,里面一个select,如下:
while (1)
{
......
ret = select(...);
......
}
当主线程调用pthread_cancel(thread_id)后,pthread_join (thread_id, NULL);等待。
此时使用gdb调试查看,info thread查看目标线程还在,进入目标线程bt查看,堆栈已经释放了。
也就是线程没有完全释放掉,导致pthread_join阻塞。
求大神指导。多谢!