linux-man.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Michael Kerrisk (man-pages)" <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Zeng Linggang <zenglg.jy-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] getspnam.3: ATTRIBUTES: Note functions that are/aren't thread-safe
Date: Fri, 11 Sep 2015 12:06:36 +0200	[thread overview]
Message-ID: <55F2A7AC.2020402@gmail.com> (raw)
In-Reply-To: <1440411596-2566-4-git-send-email-zenglg.jy-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>

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-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
> ---
>  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-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-09-11 10:06 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-24 10:19 patchset for fgetgrent fgetpwent getspnam mallinfo sigpause and termios Zeng Linggang
     [not found] ` <1440411596-2566-1-git-send-email-zenglg.jy-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2015-08-24 10:19   ` [PATCH] fgetgrent.3: ATTRIBUTES: Note function that is not thread-safe Zeng Linggang
     [not found]     ` <1440411596-2566-2-git-send-email-zenglg.jy-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2015-09-11 10:06       ` Michael Kerrisk (man-pages)
2015-08-24 10:19   ` [PATCH] fgetpwent.3: " Zeng Linggang
     [not found]     ` <1440411596-2566-3-git-send-email-zenglg.jy-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2015-09-11 10:06       ` Michael Kerrisk (man-pages)
2015-08-24 10:19   ` [PATCH] getspnam.3: ATTRIBUTES: Note functions that are/aren't thread-safe Zeng Linggang
     [not found]     ` <1440411596-2566-4-git-send-email-zenglg.jy-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2015-09-11 10:06       ` Michael Kerrisk (man-pages) [this message]
2015-08-24 10:19   ` [PATCH] mallinfo.3: ATTRIBUTES: Note function that is not thread-safe Zeng Linggang
     [not found]     ` <1440411596-2566-5-git-send-email-zenglg.jy-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2015-09-11 10:06       ` Michael Kerrisk (man-pages)
2015-08-24 10:19   ` [PATCH] sigpause.3: srcfix: add FIXME Zeng Linggang
     [not found]     ` <1440411596-2566-6-git-send-email-zenglg.jy-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2015-09-11 10:07       ` Michael Kerrisk (man-pages)
2015-08-24 10:19   ` [PATCH] termios.3: " Zeng Linggang
     [not found]     ` <1440411596-2566-7-git-send-email-zenglg.jy-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2015-09-11 10:07       ` Michael Kerrisk (man-pages)
2015-09-01  8:00   ` patchset for fgetgrent fgetpwent getspnam mallinfo sigpause and termios Zeng Linggang
2015-09-09  5:31     ` Zeng Linggang
2015-09-11 10:10       ` Michael Kerrisk (man-pages)
     [not found]         ` <55F2A8B1.9070808-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-09-12  7:00           ` Zeng Linggang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55F2A7AC.2020402@gmail.com \
    --to=mtk.manpages-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=zenglg.jy-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).