pthread_once()是否支持“链接”另一个init_routine?

时间:2018-08-08 15:34:46

标签: linux pthreads

是否正在从支持的init_routine中调用另一个pthread_once(使用不同的after_control和init_routine)?

例如,

Content

我实际上是试图初始化两个不同的'.so''packages',所以我需要有两个单独的初始化例程。 (我不能只是将它们组合为一个,可能会或可能不会涉及多个进程和线程)。

rtn_one()实际上在一个.so中,而rtn_two()在另一个中。

http://pubs.opengroup.org/onlinepubs/9699919799/查看pthread_once的文档会使我有些困惑。他们提到“递归”是一个坏主意,但只是在尝试使用相同的after_control时(我对他们的推理有些困惑):

“如果init_routine使用相同的after_control递归调用pthread_once(),则该递归调用将不会调用指定的init_routine,因此指定的init_routine将不会完成,因此对pthread_once()的递归调用将不会返回。” / p>

就我而言,我使用的是Centos 7.5 linux,它似乎可以正常工作(我不确定pthread_once()中的内部互斥是否会引起问题)。

但是,我不确定这是否是应许的行为。

0 个答案:

没有答案