From: Peng Haitao <penght-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
To: Michael Kerrisk-manpages
<mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Carlos O'Donell <carlos-v2tUB8YBRSi3e3T8WW9gsA@public.gmane.org>,
Alexandre Oliva <aoliva-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
linux-man <linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] iswblank.3: ATTRIBUTES: Note function that is thread safe with exceptions
Date: Wed, 16 Apr 2014 18:24:38 +0800 [thread overview]
Message-ID: <534E5A66.6080801@cn.fujitsu.com> (raw)
In-Reply-To: <CAE2sS1gZJCZdEhY7hpF8=dP069JFTyxD-B-nY9va0OTFV8jN4w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hi Michael,
What is the status of this thread now?
> If need be Alex can repost the text for the linux kenrel man pages
> project to reuse it under an alternate license.
Maybe we need Alex can repost "Safety Concepts" section for the man-pages?
Thanks.
--
Best Regards,
Peng
On 02/26/2014 01:28 AM, Carlos O'Donell wrote:
> On Sun, Feb 23, 2014 at 5:16 AM, Michael Kerrisk (man-pages)
> <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>>> The glibc manual is marked with them now, you can see iswblank here:
>>> http://www.gnu.org/software/libc/manual/html_mono/libc.html#index-iswblank-486
>>
>> I realize I could did through a lot of archived mail and answer these
>> questions, but I hope you can save me some time.
>
> My pleasure.
>
>> 1. How was the information about MT-Safety etc derived. I'm assuming a
>> lot of arduous manual inspection, right? (Or was there some automation
>> involved?)
>
> No automation. Manual inspection. It took Alexandre roughly a year to
> get through ~1000+ functions. After a while though the previous safety
> notes help you out immensely as you don't need to recurse deeply in a
> function when you know the properties of the functions you are
> calling.
>
>> 2. Does the glibc manual document the actual or the desired state of
>> the functions wrt to MT-Safety? Where these differ, does the manual
>> document that?
>
> The noes are preliminary so we make no promises.
>
> We document the actual state (not perfectly true, but it's the
> statement we want to make).
>
> We do not presently indicate what is the desired state.
>
> Some interfaces deviate from the standards, and in some cases we have
> started marking that e.g. !posix.
>
> However, we need to do a second pass to ensure that:
>
> (a) We transition from preliminary to full guarantees about the API.
>
> -- When we do this transition we will look at what the desired
> guarantee is for each function.
>
> For example we may *never* guarantee setlocale is MT-safe, simply
> because the consequence of making it safe slows down every other
> function that uses locales.
>
> (b) We document the standard requirement for reference.
>
> (c) We add texinfo comments when we have notes to describe why we
> deviate from the standard.
>
>> 3. Were the glibc manual changes generated manually, or was there some
>> degree of automation involved? I.e., has some markup been added to the
>> source that allows one to generate a summary of information about
>> MT-safety? As far as I can tell, that is not the case, but I wanted to
>> check.
>
> The glibc manual changes were generated manually.
>
> However, the notes per function are not text, but instead texinfo macros.
>
> The macros are then turned into the text you see.
>
> Therefore we have a meta-language in texinfo macros to describe the
> safety notes for each function.
>
> We have a regression test to ensure these notes follow the rules we
> set out for them e.g. if you mark something unsafe you note why using
> a valid marker for that safety note.
>
> Markup has not been added to the source to generate a summary of
> information about MT-safety.
>
> This is actually a GSoC project for glibc:
> https://sourceware.org/glibc/wiki/GSoC
>
> See "Dynamic Documentation"
>
> Fundamentally we can't move source code documentation into the manual
> because of the licensing barrier between GFDL and LGPLv2, *however*
> since gcc has the same problem with C++ we do have a known process for
> doing this easily (FSF maintainer given the right to relicense the
> generated docs and check them in).
>
> I also question the validity of copyrighting some of this information.
> For example I consider that the safety note information isn't
> copyrightable because it's a property of the function. Descriptive
> text about why we don't follow the standard would be copyrightable
> though.
>
>> The motivation of the above questions is of course that I wonder what
>> degree of automation might be achievable in making changes to the
>> documentation in man-pages.
>
> We considered this initially and we want to go in that direction, but
> for this initial pass we determined it would complicate the project
> and decided to do a manual pass.
>
> If you can suggest any technology we might wish to use, we could
> refine our GSoC project?
>
> 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-04-16 10:24 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
[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 [this message]
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=534E5A66.6080801@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.