From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: GNAT for MS Visual Studio
Date: Sun, 7 Oct 2007 09:35:03 +0200
Date: 2007-10-07T09:35:07+02:00 [thread overview]
Message-ID: <1aqbpv0czr253.wrmcd70o5se5$.dlg@40tude.net> (raw)
In-Reply-To: 1191702767.598768.210960@o80g2000hse.googlegroups.com
On Sat, 06 Oct 2007 13:32:47 -0700, in comp.lang.ada you wrote:
> On 6 Pa , 20:30, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
> wrote:
>
>>> type Whatever is tagged record
>>> ...
>>> end record;
>>
>>> You can definitely read an object of type Whatever from multiple tasks.
>>> You don't have to use a protected object.
>>
>>> You can also read the memory pointed to any access type from multiple
>>> tasks. You don't have to use a protected object.
>>
>> AFAIK, ARM is silent about this. The most close reference is 9(8):
>>
>> "In addition, tasks can communicate indirectly by reading and updating
>> (unprotected) shared variables, presuming the access is properly
>> synchronized through some other kind of task interaction."
>
> Note that introducing some causal ordering (a.k.a. signalling) is
> enough to make it safe.
>
> Consider a main task that populates the shared object *and then*
> starts N tasks that concurrently read the shared data (the main task
> does not interfere with the data anymore). There is a causal
> relationship between populating and reading which is guaranteed by
> task activation. See 9.10/4. The tasks can safely read the data.
>
> In other words, it is perfectly imaginable to set up a set of tasks
> that concurrently read the same data without any additional hassle
> like protected objects. So - Pascal is right that this is in principle
> possible.
> At the same time this is explicitly forbidden for containers.
I don't see any difference for containers. When reads are synchronized (by
whatever means) then everything is OK, so would be container reading.
[ For protected objects, it seems that functions do not signal, so I guess
it might be illegal to read a container component of a protected object
from its function unless the compiler chooses another implementation for
access from protected functions. This looks weird to me.]
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2007-10-07 7:35 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-06 2:20 GNAT for MS Visual Studio William J Thomas
2007-09-06 7:44 ` anon
2007-09-06 8:49 ` Rob Veenker
2007-09-06 11:12 ` William J Thomas
2007-09-11 3:15 ` Jeffrey Creem
2007-09-20 0:00 ` William J Thomas
2007-09-21 0:46 ` Randy Brukardt
2007-09-21 3:27 ` William J Thomas
2007-09-21 17:31 ` Markus E L
2007-09-21 18:13 ` Dmitry A. Kazakov
2007-09-22 1:42 ` Randy Brukardt
2007-09-22 1:59 ` Randy Brukardt
2007-09-22 5:19 ` Simon Wright
2007-09-22 14:42 ` Steve
2007-09-24 8:14 ` Jean-Pierre Rosen
2007-09-25 1:44 ` Steve
2007-09-25 6:41 ` Jean-Pierre Rosen
2007-09-25 8:29 ` Michael Bode
2007-09-25 18:00 ` Jeffrey R. Carter
2007-09-25 18:31 ` Michael Bode
2007-09-25 11:20 ` Markus E L
2007-09-26 2:23 ` Steve
2007-09-26 12:21 ` Markus E L
2007-09-28 0:49 ` Randy Brukardt
2007-09-28 2:43 ` Steve
2007-09-28 9:36 ` Markus E L
2007-09-29 15:59 ` Michael Bode
2007-09-29 16:50 ` Markus E L
2007-09-26 6:58 ` Ole-Hjalmar Kristensen
2007-09-26 13:35 ` Steve
2007-09-26 14:06 ` Markus E L
2007-09-27 18:26 ` Michael Bode
2007-09-27 20:18 ` Markus E L
2007-09-28 6:45 ` Jean-Pierre Rosen
2007-09-29 9:18 ` michael bode
2007-09-28 2:29 ` Steve
2007-09-28 9:23 ` Markus E L
2007-09-30 14:50 ` Steve
2007-10-02 3:50 ` Randy Brukardt
2007-10-02 11:06 ` Peter C. Chapin
2007-10-02 20:38 ` Maciej Sobczak
2007-10-02 20:45 ` Pascal Obry
2007-10-03 19:23 ` Maciej Sobczak
2007-10-03 19:40 ` Pascal Obry
2007-10-03 20:08 ` Maciej Sobczak
2007-10-04 20:18 ` Maciej Sobczak
2007-10-04 20:21 ` Pascal Obry
2007-10-05 13:25 ` Maciej Sobczak
2007-10-06 10:50 ` concurrent access to containers (was: GNAT for MS Visual Studio) Georg Bauhaus
2007-10-05 20:15 ` GNAT for MS Visual Studio Simon Wright
2007-10-06 14:47 ` Matthew Heaney
2007-10-06 15:03 ` Pascal Obry
2007-10-06 16:03 ` Dmitry A. Kazakov
2007-10-06 17:07 ` Pascal Obry
2007-10-06 18:30 ` Dmitry A. Kazakov
2007-10-06 20:32 ` Maciej Sobczak
2007-10-07 7:35 ` Dmitry A. Kazakov [this message]
2007-10-07 21:30 ` Maciej Sobczak
2007-10-08 7:50 ` Dmitry A. Kazakov
2007-10-08 10:32 ` Maciej Sobczak
2007-10-08 13:39 ` Maciej Sobczak
2007-10-08 15:10 ` Dmitry A. Kazakov
2007-10-08 20:40 ` Maciej Sobczak
2007-10-09 8:32 ` Dmitry A. Kazakov
2007-10-06 16:17 ` Matthew Heaney
2007-10-07 3:19 ` Randy Brukardt
2007-10-07 7:21 ` Pascal Obry
2007-10-07 7:49 ` Dmitry A. Kazakov
2007-10-07 16:41 ` Georg Bauhaus
2007-10-07 17:44 ` Simon Wright
2007-10-08 9:52 ` Georg Bauhaus
2007-10-08 10:42 ` Maciej Sobczak
2007-10-08 10:59 ` Georg Bauhaus
2007-10-08 11:07 ` Georg Bauhaus
2007-10-08 18:44 ` Pascal Obry
2007-10-08 15:21 ` Dmitry A. Kazakov
2007-10-08 18:28 ` Pascal Obry
2007-10-07 21:48 ` Maciej Sobczak
2007-10-07 22:27 ` Jeffrey R. Carter
2007-10-08 21:10 ` Simon Wright
2007-10-09 1:53 ` Randy Brukardt
2007-10-09 21:01 ` Simon Wright
2007-10-09 22:48 ` Randy Brukardt
2007-10-10 0:21 ` Jeffrey R. Carter
2007-10-10 4:57 ` Simon Wright
2007-10-10 7:46 ` Dmitry A. Kazakov
2007-10-03 5:20 ` Licensing again (was Re: GNAT for MS Visual Studio) Simon Wright
2007-10-03 2:03 ` GNAT for MS Visual Studio Steve
2007-09-28 14:48 ` Ed Falis
2007-09-29 2:32 ` Steve
2007-09-29 6:53 ` Vadim Godunko
2007-09-26 14:08 ` Dmitry A. Kazakov
2007-09-25 2:39 ` Randy Brukardt
2007-09-25 8:40 ` Michael Bode
2007-09-25 11:28 ` Markus E L
2007-09-26 10:19 ` Pascal Obry
2007-09-26 13:00 ` Michael Bode
2007-09-25 2:32 ` Randy Brukardt
2007-09-25 8:27 ` Stephen Leake
-- strict thread matches above, loose matches on Subject: below --
2007-10-12 22:03 Anatoly Chernyshev
2007-10-13 20:25 ` Maciej Sobczak
2007-10-14 10:37 ` Simon Wright
2007-10-14 11:26 ` Markus E L
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox