The functions getgrnam() and getgrgid() return a pointer to a static area which is overwritten by a subsequent call to them. So they are thread-unsafe. Signed-off-by: Peng Haitao <penght@xxxxxxxxxxxxxx> --- man3/getgrnam.3 | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletions(-) diff --git a/man3/getgrnam.3 b/man3/getgrnam.3 index e4afa3e..cbbdc74 100644 --- a/man3/getgrnam.3 +++ b/man3/getgrnam.3 @@ -28,7 +28,7 @@ .\" Modified 1993-07-24 by Rik Faith (faith@xxxxxxxxxx) .\" Modified 2003-11-15 by aeb .\" -.TH GETGRNAM 3 2010-10-21 "" "Linux Programmer's Manual" +.TH GETGRNAM 3 2011-09-07 "" "Linux Programmer's Manual" .SH NAME getgrnam, getgrnam_r, getgrgid, getgrgid_r \- get group file entry .SH SYNOPSIS @@ -199,6 +199,19 @@ Insufficient buffer space supplied. .TP .I /etc/group local group database file +.SH ATTRIBUTES +.SS Multithreading (see pthreads(7)) +The two functions +.BR getgrnam () +and +.BR getgrgid () +are not thread-safe. +.LP +The two functions +.BR getgrnam_r () +and +.BR getgrgid_r () +are thread-safe. .SH "CONFORMING TO" SVr4, 4.3BSD, POSIX.1-2001. .SH NOTES -- 1.7.1 -- Best Regards, Peng Haitao -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html