对线程自身进行pthread_join,会返回EDEADLK(35),报死锁错误
这里的的死锁不是程序会阻塞在pthread_join函数上,而是pthread_join会返回错误值EDEADLK
int pthread_join(pthread_t thread, void **value_ptr) {
if (thread == pthread_self())
return EDEADLK;
// rest of function
}
并且pthread_join成功返回0,错误返回错误码而不是-1