【发布时间】:2018-10-24 07:09:46
【问题描述】:
我从 opengroup.org 阅读了两个手册页(ftw、nftw),所以我认为ftw() 和nftw() 不能保证线程安全。
但我在 man7.org 上找到了另一个关于这些函数的 page,上面写着 ftw() 是 MT 安全的,nftw() 是 MT-safe cwd。
这些函数在线程安全异常列表中,在这个page中。
目前,我仍然相信这些函数并不能保证线程安全。但我想知道为什么 this 说 ftw() 是 MT 安全的。
为什么 man7.org 的页面显示 ftw() 是 MT 安全的?
是否基于 POSIX 标准?
【问题讨论】:
-
POSIX 参考说函数不需要是线程安全的,这取决于具体的实现。另请注意,POSIX 参考资料还说
ftw被标记为已过时,因此请尽量避免使用它。 -
Linux man pages project 中所有手册页中的 Attributes 部分均指的是 GNU C 库实现,如解释该部分的 man 7 attributes 页面中所述。因此,如果您使用的是 GNU C 库,则这些属性适用。
-
感谢您的 cmets 和回答。但我仍然想知道为什么 man7.org 的页面说
ftw()是 MT-sfae?它是基于 POSIX 的吗?
标签: c thread-safety manpage