Getpwnam_r () è un requisito?
Domanda
getpwnam_r () è rientrante in base a un numero di manodopera. in ogni caso, il standard solo stato
La funzione getpwnam_r () è thread-safe e restituisce i valori in un buffer fornito dall'utente invece di utilizzare eventualmente un'area dati statica che può essere sovrascritta da ogni chiamata.
Sono confuso. La funzione di un modulo NSS ... getpwnam_r () deve rientrare? O solo thread-safe è abbastanza?
Soluzione
Bene, come notato, lo standard richiede che la funzione debba essere sicura. Ciò non impedisce a un'implementazione di fornire una garanzia più severa.
IOW, il software portatile non può presumere che getpwnam_r sia rientrante. Ma, se ti interessa solo una piattaforma specifica che garantisce che sia rientrante, presumibilmente puoi suviderlo.