2

getpwnam_r() 根据许多手册页是可重入的。但是,仅标准状态

getpwnam_r() 函数是线程安全的,并在用户提供的缓冲区中返回值,而不是使用可能被每次调用覆盖的静态数据区域。

我很困惑。NSS 模块的 ...getpwnam_r() 函数必须可重入吗?或者只是线程安全就足够了?

4

1 回答 1

3

好吧,正如您所注意到的,标准要求函数必须是线程安全的。这并不妨碍实现提供更严格的保证。

IOW,便携式软件不能假设 getpwnam_r 是可重入的。但是,如果您只关心某个保证它是可重入的特定平台,那么您大概可以假设。

于 2011-10-20T14:13:17.877 回答