aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZeng Linggang <zenglg.jy@cn.fujitsu.com>2015-08-24 18:19:53 +0800
committerMichael Kerrisk <mtk.manpages@gmail.com>2015-09-11 12:06:23 +0200
commit557d7d9682f7a4dacc0847bfb1fc90db84e28ce2 (patch)
tree720dd774d290cffb4f6c971ce83a177a9bde6ead
parent1ec27c36ff06b4460e1fe83e60217ad7eb2f4f3d (diff)
downloadman-pages-557d7d9682f7a4dacc0847bfb1fc90db84e28ce2.tar.gz
getspnam.3: ATTRIBUTES: Note functions that are/aren't thread-safe
After research, We think * getspnam(), * getspent(), * setspent(), * endspent(), * getspent_r(), * fgetspent(), * sgetspent(), are not thread-safe. And * putspent(), * getspnam_r(), * sgetspent_r(), * lckpwdf(), * ulckpwdf(), * fgetspent_r(), are thread-safe. But, there are not markings of them in glibc document. Signed-off-by: Zeng Linggang <zenglg.jy@cn.fujitsu.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
-rw-r--r--man3/getspnam.360
1 files changed, 60 insertions, 0 deletions
diff --git a/man3/getspnam.3 b/man3/getspnam.3
index 43ee61c3e7..9efd64370c 100644
--- a/man3/getspnam.3
+++ b/man3/getspnam.3
@@ -246,6 +246,66 @@ The include file
defines the constant
.B _PATH_SHADOW
to the pathname of the shadow password file.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw25 lb lbw30
+l l l.
+Interface Attribute Value
+T{
+.BR getspnam ()
+T} Thread safety T{
+MT-Unsafe race:getspnam locale
+T}
+T{
+.BR getspent ()
+T} Thread safety T{
+MT-Unsafe race:getspent
+.br
+race:spentbuf locale
+T}
+T{
+.BR setspent (),
+.BR endspent (),
+.br
+.BR getspent_r ()
+T} Thread safety T{
+MT-Unsafe race:getspent locale
+T}
+T{
+.BR fgetspent ()
+T} Thread safety MT-Unsafe race:fgetspent
+T{
+.BR sgetspent ()
+T} Thread safety MT-Unsafe race:sgetspent
+T{
+.BR putspent (),
+.BR getspnam_r (),
+.br
+.BR sgetspent_r ()
+T} Thread safety MT-Safe locale
+T{
+.BR lckpwdf (),
+.BR ulckpwdf (),
+.br
+.BR fgetspent_r ()
+T} Thread safety MT-Safe
+.TE
+
+In the above table,
+.I getspent
+in
+.I race:getspent
+signifies that if any of the functions
+.BR setspent (3),
+.BR getspent (3),
+.BR getspent_r (3),
+or
+.BR endspent (3)
+are used in parallel in different threads of a program,
+then data races could occur.
.SH CONFORMING TO
The shadow password database and its associated API are
not specified in POSIX.1.