From: Peng Haitao <penght-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
To: Carlos O'Donell <carlos-v2tUB8YBRSi3e3T8WW9gsA@public.gmane.org>
Cc: Michael Kerrisk-manpages
<mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Alexandre Oliva <aoliva-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] iswblank.3: ATTRIBUTES: Note function that is thread safe with exceptions
Date: Wed, 12 Feb 2014 09:34:51 +0800 [thread overview]
Message-ID: <52FACFBB.6070607@cn.fujitsu.com> (raw)
In-Reply-To: <CAE2sS1g5w0jZ04EovvQoW=Cta4ACdHWVus-5zo+vw1J7E1SnZg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On 02/11/2014 12:03 AM, Carlos O'Donell wrote:
> On Mon, Feb 10, 2014 at 1:20 AM, Peng Haitao <penght-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> wrote:
>> The function iswblank() is thread safe with exceptions.
>> +.SH ATTRIBUTES
>> +.SS Multithreading (see pthreads(7))
>> +The
>> +.BR iswblank ()
>> +function is thread-safe with exceptions.
>> +It can be safely used in multithreaded applications, as long as
>> +.BR setlocale (3)
>> +is not called to change the locale during its execution.
>
> Now that glibc 2.19 is out the door and using a standard set of
> "exception" markers should we try to standardize the same markers?
>
Yes, maybe it is better.
But in Oracle Solaris's manpages, iswblank is marked "MT-Safe with exceptions".
I also think "MT-Safe with exceptions" is OK.
> For example in glibc this exception is called "locale" and iswblank is
> marked "MT-Safe locale." With "locale" being described in detail in
> the safety conceptions section.
>
> For example the description you use is not quite technically correct.
> It is possible to call setlocale, but you must guard the call to
> setlocale and all other functions marked with the "locale" safety note
> using a mutex to serialize access. That may be prohibitively
> expensive, but it's an option.
>
This is a method to avoid exceptions, but I want to tell the users
iswblank() is "MT-Safe with exceptions".
The description of "locale" in glibc 2.19 is as follows:
Functions annotated with locale called concurrently with locale changes
may behave in ways that do not correspond to any of the locales active
during their execution, but an unpredictable mix thereof.
I think the description is similar to ours.
> In summary:
> * Suggest you look at glibc 2.19 release and the safety notes used
> there to simplify the linux kernel manual page notes.
> * Add a manual page that specifically talked about "Safety concepts"
> including thread, signal, and cancellation. Talk about things in more
> detail there.
>
There is a manual page "man-pages(7)" which talks about "Safety concepts".
--
Best Regards,
Peng
> If need be Alex can repost the text for the linux kenrel man pages
> project to reuse it under an alternate license.
>
> Comments?
>
> Cheers,
> Carlos.
>
--
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
next prev parent reply other threads:[~2014-02-12 1:34 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-10 6:20 [PATCH] iswblank.3: ATTRIBUTES: Note function that is thread safe with exceptions Peng Haitao
[not found] ` <1392013239-31138-1-git-send-email-penght-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2014-02-10 10:06 ` Michael Kerrisk (man-pages)
2014-02-10 16:03 ` Carlos O'Donell
[not found] ` <CAE2sS1g5w0jZ04EovvQoW=Cta4ACdHWVus-5zo+vw1J7E1SnZg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-12 1:34 ` Peng Haitao [this message]
[not found] ` <52FACFBB.6070607-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2014-02-12 15:31 ` Carlos O'Donell
[not found] ` <CAE2sS1ijg2ef1WcswN0o+wmJOcgLDoCEbYrcNJyOxhS-HCxuSg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-13 4:07 ` Peng Haitao
[not found] ` <52FC44E7.1030000-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2014-02-13 4:48 ` Carlos O'Donell
[not found] ` <CAE2sS1g6ONVgapgZXh2XZJNCr+=JDEezpmPCnxLY2MfEpNfA2w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-22 9:18 ` Michael Kerrisk (man-pages)
2014-02-23 10:16 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkix8vTrKEV_vicpD2yH88NQmiSrMR9dgKoQ1u2NkqZexA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-25 17:28 ` Carlos O'Donell
[not found] ` <CAE2sS1gZJCZdEhY7hpF8=dP069JFTyxD-B-nY9va0OTFV8jN4w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-16 10:24 ` Peng Haitao
2014-06-11 8:30 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkh029iy5=7+N1RiA1_X9Zeiv_coci59bFN1y-oQmOJykA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-11 9:33 ` Peng Haitao
2014-06-11 14:59 ` Carlos O'Donell
[not found] ` <CAE2sS1j4sLeczF_gR94+mZ89bi-C=RMMikE=_cOvu9id7v5sHw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-11 20:31 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkj0b=-5EMqEWvxoq4_qfTH2wNOatkBmqVrXq5dOuQNHmw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-12 11:27 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAki5UXmOTa=SW1GEYZTP1f5uMiTsrbkcYN+MuYZf6mA0qw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-12 12:16 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkgDFuwXDD=Rjn3KAutyuOAy_-71imhR5UGZOS9fcMSnew-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-12 14:02 ` Carlos O'Donell
2014-06-16 3:53 ` Michael Kerrisk (man-pages)
[not found] ` <539E6A32.7080605-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-06-16 7:49 ` Peng Haitao
[not found] ` <539EA198.9090309-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2014-06-17 5:40 ` Michael Kerrisk (man-pages)
[not found] ` <539FD4D3.40 10406@gmail.com>
[not found] ` <539FD4D3.4010406-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-06-17 5:47 ` Michael Kerrisk (man-pages)
[not found] ` <539FD660.7080503-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-06-17 8:24 ` Peng Haitao
2014-02-25 5:35 ` Peng Haitao
[not found] ` <530C2BA9.8070604-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2014-02-25 11:17 ` walter harms
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=52FACFBB.6070607@cn.fujitsu.com \
--to=penght-bthxqxjhjhxqfuhtdcdx3a@public.gmane.org \
--cc=aoliva-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=carlos-v2tUB8YBRSi3e3T8WW9gsA@public.gmane.org \
--cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.