diff doc/posix-functions/getpwuid_r.texi @ 17421:ce63398f847f

getgroups: document portability issues Because I actually managed to hit deadlock in libvirt's child process due to glibc's mutex use in user database lookup, I figured it is worth documenting the issue for others to be aware of when writing a privileged multithreaded parent app that spawns child processes owned by non-privileged ids. * doc/glibc-functions/initgroups.texi (initgroups): Mention multithread safety. * doc/posix-functions/getpwuid.texi (getpwuid): Likewise. * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise. * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention getugroups. * doc/posix-functions/getgroups.texi (getgroups): Mention multithread safety and mgetgroups. Signed-off-by: Eric Blake <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Wed, 22 May 2013 14:21:36 -0600 (2013-05-22)
parents da62858ef2f6
children
line wrap: on
line diff
--- a/doc/posix-functions/getpwuid_r.texi
+++ b/doc/posix-functions/getpwuid_r.texi
@@ -16,6 +16,9 @@
 Portability problems not fixed by Gnulib:
 @itemize
 @item
+This function is unsafe to call between @code{fork} and @code{exec} if
+the parent process is multi-threaded.  Use it prior to forking.
+@item
 This function is missing on some platforms:
 OpenBSD 3.8, Minix 3.1.8, mingw, MSVC 9, BeOS.
 @end itemize