From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Ravenscar References
Date: Thu, 17 Jan 2019 10:46:17 +0200
Date: 2019-01-17T10:46:17+02:00 [thread overview]
Message-ID: <gaatmnFtp42U1@mid.individual.net> (raw)
In-Reply-To: <q1p3vl$gbn$1@dont-email.me>
On 19-01-17 07:31 , J-P. Rosen wrote:
> Le 16/01/2019 à 18:48, lyttlec a écrit :
>> Can anyone suggest a good reference on using the ravenscar profile? In
>> the Ada books I have, it only gets a one or two page mention. A
>> reference with an extended case study would be great.
>>
> Did you get the official report at
> http://www.open-std.org/jtc1/sc22/wg9/n424.pdf
> ?
Note that the discussion of pragma Atomic in that document invites risky
programming. For example, it says "All global objects that are either of
a protected type or an atomic type may be safely shared, and so no
static identification [to find risky, unprotected sharing] is required
for these."
However, as I trust most of us know, while a pragma Atomic ensures that
any read or write of the object is itself atomic, it does not ensure
that a read-modify-write update sequence, such as X := X + 1, is atomic
in its entirety. IMO this means that even atomic shared objects should
be identified and the safety of their uses checked. And that using a
protected type, with its fully atomic operations, is preferable, when
possible.
--
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
. @ .
next prev parent reply other threads:[~2019-01-17 8:46 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-16 17:48 Ravenscar References lyttlec
2019-01-16 18:15 ` Simon Wright
2019-01-18 19:18 ` lyttlec
2019-01-20 17:12 ` Jeffrey R. Carter
2019-01-21 23:19 ` Randy Brukardt
2019-01-22 9:25 ` J-P. Rosen
2019-01-22 22:05 ` Randy Brukardt
2019-01-28 0:38 ` lyttlec
2019-01-17 5:31 ` J-P. Rosen
2019-01-17 8:46 ` Niklas Holsti [this message]
2019-01-29 1:08 ` Jorge Real
2019-01-29 19:24 ` Niklas Holsti
2019-02-01 10:06 ` Jorge Real
2019-02-02 2:13 ` Jere
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox