2011-10-20 2 views
2

getpwnam_r()은 여러 개의 맨 페이지에 따라 재진입 가능합니다. 그러나 standard 전용 상태getpwnam_r() 재진입 요구 사항입니까?

getpwnam_r() 함수는 스레드 안전 대신 아마도 각 호출 덮어 될 수있는 정적 데이터 영역을 사용하는 사용자에 제공하는 버퍼 값을 반환한다.

혼란 스럽습니다. NSS 모듈의 ... getpwnam_r() 함수가 재진입 성 있어야합니까? 아니면 thread-safe이면 충분합니까?

답변

3

글쎄, 표준에서 알 수 있듯이이 함수는 스레드로부터 안전해야합니다. 그렇다고해서 구현이 엄격한 보장을 제공하는 것을 방해하지는 않습니다.

IOW, 휴대용 소프트웨어는 getpwnam_r이 재진입 성 있다고 가정 할 수 없습니다. 하지만 재진입을 보장하는 특정 플랫폼에 대해서만 신경을 쓰면 아마 그 가정을 할 수 있습니다.