点击查看《Xenomai/IPIPE源代码情景解析》
原创不易,需要大家多多鼓励!您的关注、点赞、收藏就是我的创作动力!
6.2.3 Xenomai3:创建实时线程第二弹之移花接木cobalt_thread_trampoline
在上一章节《6.2.2 Xenomai3:创建实时线程第一弹之改头换面pthread_create》中,pthread_create被改头换面为__wrap_pthread_create,走到了下图中的第292行pthread_create_ex()函数。

pthread_create_ex()函数很长,这里截取最重要的片段来分析:

第179行,start为线程的原始入口函数,即hello.c中的helloworld()函数。
第184行,__STD宏的作用是手动为函数加上__real_前缀,以此来确保函数不会被默认自动加上__wrap前缀。__real_pthread_create意味着直接调用pthread库中的pthread_create函数。这里传入的线程入口函数并不是原始入口函数,而被移花接木的改为跳板入口函数cobalt_thread_trampoline!
pthread库中的pthread_create函数定义在源码文件nptl/pthread_create.c中。在同一个pthread_create.c中,根据不同glibc的版本,利用Sym

最低0.47元/天 解锁文章
814

被折叠的 条评论
为什么被折叠?



