This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Consensus on MT-, AS- and AC-Safety docs.


On Nov 28, 2013, Torvald Riegel <triegel@redhat.com> wrote:

>> Same goes for dictionaries, mind you.  Once we get used to n. and
>> adj. and such stuff, it becomes second nature, but try to remember the
>> first time you opened a dictionary to look a word up.  There is a *lot*
>> of stuff that we learn to filter out over time so that we can focus on
>> what we're looking for.  One of my concerns is that, the longer the
>> portion about safety is at each function, the more threatening it will
>> seem for a significant portion of our target audience.

> Threatening because it's more verbose, and rather easy-to-speak and
> easy-to-remember?

Threatening because of the amount of data.  A drop of water is not
threatening, but an ocean can be, even though it's little more than a
lot of drops of water.

> (1) I asked you for a precise definition of MT-Safe, and I claim that
> the current definitions aren't sufficiently precise.

I think I have a precise definition.  Can you back up your claim by
giving a concrete situation in which you believe the definition fails to
capture some notion of safety?  Perhaps using bsearch, the example we
discussed F2F?

> (2) I believe that something similar to sequential consistency is
> easier for our users (and we would follow the choice made by C11 and
> C++11).

POSIX already specifies interfaces that explicitly permit interleaving
of executions, so this boat has already sailed.  It must be something
much weaker than strict sequential consistency to model existing
implementations.

> Those are *separate* things.  You can do (1) without ever agreeing
> with me about (2).  Don't try to put it like I can't distinguish
> between both.

That was the impression I got from you; it never came across as two
separate issues to me.  I got this feeling that no definition would ever
be precise or useful enough for you if it didn't explicitly adopt the
C*11 memory models and sequential consistency.  Since the latter
requirement AFAICT would make it incompatible with POSIX, all I could
see in the path you seemed to want to take was a dead end.  That, and
the alleged absence of a memory model in POSIX, and your failure to
provide scenarios that showed problems and hand-wavy insistence that it
was incomplete and imprecise and insufficient and incompatible with your
expectations made it clear to me you were not sufficiently familiar with
POSIX for your opinion to carry any relevance.  Hopefully you can show
that's not so.

-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist      Red Hat Brazil Compiler Engineer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]