linux-man.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Carlos O'Donell" <carlos@redhat.com>
To: Alexandre Oliva <aoliva@redhat.com>
Cc: Rich Felker <dalias@libc.org>,
	Michael Kerrisk <mtk.manpages@gmail.com>,
	Peng Haitao <penght@cn.fujitsu.com>,
	"linux-man@vger.kernel.org" <linux-man@vger.kernel.org>,
	GNU C Library <libc-alpha@sourceware.org>
Subject: Re: Adding reentrancy information to safety notes?
Date: Mon, 05 Jan 2015 09:25:07 -0500	[thread overview]
Message-ID: <54AA9EC3.5040006@redhat.com> (raw)
In-Reply-To: <ord26zdlqt.fsf@livre.home>

On 01/01/2015 02:05 AM, Alexandre Oliva wrote:
> On Dec 31, 2014, "Carlos O'Donell" <carlos@redhat.com> wrote:
> 
>> I did not know malloc was required to be AS-safe for POSIX compliance.
> 
> Ugh.  Sorry, my bad, it's not.  malloc's AS-safety goal seems to have
> jumped from "desirable" to "mandatory" in my mind :-(

No worries. That's why we work together.

>> See: http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html
>> 2.4.3 Signal Actions.
> 
>> The list of functions does not list malloc.
> 
> Beware, that's a very old version of POSIX that you referenced above.
> What led me to realize it was the use of the term "reentrant" there ;-)

You are correct, issue 6 is old, issue 7 is the most recent, with text here:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04_03

> Anyway, the corresponding table in current POSIX fails to list malloc as
> AS-Safe just the same ;-)

So to recap:

We would complicate a user malloc implementation by forcing them to use only 
AS-safe functions.

We want to expand the list of usable functions the user can call from their
malloc without requiring it be all functions.

The tentative initial list is "all AS-Safe and SR-safe function." Where SR-safe
stands for synchronously reentrant e.g. can be reentered by the same thread, but
not from asynchronous contexts.

Cheers,
Carlos.

  reply	other threads:[~2015-01-05 14:25 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-30 15:45 Adding reentrancy information to safety notes? Carlos O'Donell
     [not found] ` <54A2C8A6.9050100-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-12-30 19:53   ` Michael Kerrisk (man-pages)
2014-12-30 20:08     ` Carlos O'Donell
     [not found]       ` <54A30624.7070207-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-12-30 20:35         ` Michael Kerrisk (man-pages)
2014-12-30 22:55   ` Alexandre Oliva
     [not found]     ` <ork318eoj4.fsf-o1YuAO9g/txBDLzU/O5InQ@public.gmane.org>
2014-12-30 23:05       ` Rich Felker
     [not found]         ` <20141230230529.GT4574-C3MtFaGISjmo6RMmaWD+6Sb1p8zYI1N1@public.gmane.org>
2014-12-31  1:43           ` Alexandre Oliva
2014-12-31  4:12             ` Carlos O'Donell
     [not found]               ` <54A377B8.60802-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-12-31  9:31                 ` Alexandre Oliva
     [not found]                   ` <ortx0cdv3c.fsf-o1YuAO9g/txBDLzU/O5InQ@public.gmane.org>
2014-12-31 15:26                     ` Carlos O'Donell
     [not found]                       ` <54A41595.4010007-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-01-01  7:05                         ` Alexandre Oliva
2015-01-05 14:25                           ` Carlos O'Donell [this message]
2015-01-01  0:19                 ` Rich Felker
     [not found]                   ` <20150101001905.GU4574-C3MtFaGISjmo6RMmaWD+6Sb1p8zYI1N1@public.gmane.org>
2015-01-05 15:05                     ` Carlos O'Donell
2014-12-31  9:38               ` Alexandre Oliva
     [not found]                 ` <orppb0dur7.fsf-o1YuAO9g/txBDLzU/O5InQ@public.gmane.org>
2014-12-31 16:07                   ` Carlos O'Donell
     [not found]                     ` <54A41F36.5010800-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-01-01  7:11                       ` Alexandre Oliva
2015-01-05 15:26                         ` Carlos O'Donell
2015-01-05 23:21                           ` Alexandre Oliva
2015-01-07  9:52                       ` Michael Kerrisk (man-pages)

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=54AA9EC3.5040006@redhat.com \
    --to=carlos@redhat.com \
    --cc=aoliva@redhat.com \
    --cc=dalias@libc.org \
    --cc=libc-alpha@sourceware.org \
    --cc=linux-man@vger.kernel.org \
    --cc=mtk.manpages@gmail.com \
    --cc=penght@cn.fujitsu.com \
    /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).