getutent.3: ATTRIBUTES: Note functions that aren't thread-safe

The markings match glibc markings.

getutent:  MT-Unsafe init race:utent race:utentbuf sig:ALRM timer

getutid:   MT-Unsafe init race:utent sig:ALRM timer
getutline: MT-Unsafe init race:utent sig:ALRM timer

pututline: MT-Unsafe race:utent sig:ALRM timer

setutent:  MT-Unsafe race:utent
endutent:  MT-Unsafe race:utent
utmpname:  MT-Unsafe race:utent

Signed-off-by: Zeng Linggang <zenglg.jy@cn.fujitsu.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Zeng Linggang 2015-04-08 10:56:17 +08:00 committed by Michael Kerrisk
parent 08da409ade
commit a5047c38da
1 changed files with 55 additions and 0 deletions

View File

@ -155,6 +155,61 @@ functions can also fail for the reasons described in
/var/run/utmp database of currently logged-in users
.br
/var/log/wtmp database of past user logins
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lb lb lbw28
l l l.
Interface Attribute Value
T{
.BR getutent ()
T} Thread safety T{
MT-Unsafe init race:utent
.br
race:utentbuf sig:ALRM timer
T}
T{
.BR getutid (),
.br
.BR getutline ()
T} Thread safety T{
MT-Unsafe init race:utent
.br
sig:ALRM timer
T}
T{
.BR pututline ()
T} Thread safety T{
MT-Unsafe race:utent
.br
sig:ALRM timer
T}
T{
.BR setutent (),
.br
.BR endutent (),
.br
.BR utmpname ()
T} Thread safety MT-Unsafe race:utent
.TE
In the above table,
.I utent
in
.I race:utent
signifies that if any of the functions
.BR setutent (3),
.BR getutent (3),
.BR getutid (3),
.BR getutline (3),
.BR pututline (3),
.BR utmpname (3),
or
.BR endutent (3)
are used in parallel in different threads of a program,
then data races could occur.
.SH CONFORMING TO
XPG2, SVr4.
.LP