2011-10-20 128 views
2

getpwnam_r()根據許多聯機幫助頁是可重入的。然而,僅standard狀態getpwnam_r()是否需要重入?

的getpwnam_r()函數是線程安全和用戶提供的緩衝液代替可能使用了可由每個調用被重寫一個靜態數據區返回值。

我很困惑。必須是NSS模塊的... getpwnam_r()函數是否可重入?或者只是線程安全就足夠了?

回答

3

那麼,你注意到標準要求函數必須是線程安全的。這並不妨礙實施提供更嚴格的保證。

IOW,便攜式軟件不能假定getpwnam_r是可重入的。但是,如果你只關心某個特定的平臺來保證它是可重入的,那麼你可以假設這一點。