[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-man
Subject:    Re: [PATCH] getspnam.3: ATTRIBUTES: Note functions that are/aren't thread-safe
From:       "Michael Kerrisk (man-pages)" <mtk.manpages () gmail ! com>
Date:       2015-09-11 10:06:36
Message-ID: 55F2A7AC.2020402 () gmail ! com
[Download RAW message or body]

On 08/24/2015 12:19 PM, Zeng Linggang wrote:
> 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.

Applied!  Thanks, Zeng Linggang.

Cheers,

Michael

> Signed-off-by: Zeng Linggang <zenglg.jy@cn.fujitsu.com>
> ---
>  man3/getspnam.3 | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 60 insertions(+)
> 
> diff --git a/man3/getspnam.3 b/man3/getspnam.3
> index 43ee61c..9efd643 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.
> 


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic