pthread_exit基本上就是设置好退出值,longjmp跳到
pthread_create
中的一段代码
- int not_first_call;
-
not_first_call = setjmp ((struct __jmp_buf_tag *) unwind_buf.cancel_jmp_buf);
-
可能会两次到这里来,一次是开始,一次是 _被_
结束或者主动调用pthread_exit
-
否则只有一次,start_routine可能直接返回
-
if (!
not_first_call)
-
{
-
/* Run the code the user
provided. */
- pd->start_routine
(pd->arg));
-
-
}
- ....
阅读(2015) | 评论(0) | 转发(0) |