FreeBSD在Linux中的__isthreaded等价物

时间:2014-01-16 05:45:52

标签: linux porting

FreeBSD的stdio.h有一个变量'__isthreaded'的extern声明。 在进程创建线程之前,此变量为零。它用于避免在不需要时调用libc中的锁定函数。

但这不是检查线程存在的可移植方式。 Linux不支持这一点。 我们在Linux中有任何等效的变量或API吗? 我试图将一些代码从FreeBSD移植到Linux。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

glibc提供的几乎相同的功能是为glibc中的大多数pthread库定义存根函数。这些电话什么都不做,速度非常快。

一旦链接了libpthread.so,它的符号将覆盖弱glibc符号,然后调用实际函数。

所以包括pthread并调用锁定函数,但不要与它链接。