Re: [PATCH] getspnam.3: ATTRIBUTES: Note functions that are/aren't thread-safe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxx>
> ---
>  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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux