在编写目录迭代器时,我发现readdir函数不是可重入的.readdir_r函数似乎是重入版本的,但我不知道如何证实这一点。虽然readdir被显式标记为不可重入,但是没有提到readdir_r。
是否有办法检查特定POSIX函数的可重入性?如何检查POSIX函数的可重入性?
发布于 2013-12-22 19:05:15
这是一个针对重新进入的POSIX.1c政策。
这是我的总结。
这是另一个警告声明。
从文本中引用。
线程编程所需的头文件 #定义_REENTRANT #包括 #包含 _REENTRANT表示应该使用标准库的可重入版本(即线程安全)。 头文件pthread.h定义了POSIX线程API。 H头文件定义了进程和线程调度API。在这里解释的函数中,只有
sched_yield()需要它。
无论如何,还有另外一个关于这些步骤不再需要的声明:https://stackoverflow.com/questions/6047333/is-it-required-for-me-to-add-a-reentrant-macro-during-compile-time-to-make-my-e似乎不再需要定义_REENTRANT了。
术语重入是单线程环境中遗留的术语。无论如何,POSIX.1c假定是多线程环境,它默认从其他线程案例重新输入。
https://stackoverflow.com/questions/20732882
复制相似问题