comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: GNAT for MS Visual Studio
Date: Mon, 08 Oct 2007 03:32:44 -0700
Date: 2007-10-08T03:32:44-07:00	[thread overview]
Message-ID: <1191839564.304635.30030@d55g2000hsg.googlegroups.com> (raw)
In-Reply-To: <liz4nefx8mhu$.qpy964l7mn99$.dlg@40tude.net>

On 8 Pa , 09:50, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
wrote:

> It is called "higher level language," which translates to "you cannot have
> ideas even if you just do 'a read'". I.e. there is no difference.

There is - others already explained that containers do some
bookkeeping even when they are "just" read. This bookkeeping is hidden
from you.

> > What is a shared data outside the protected object?
> > If I have an access variable that is kept inside the protected object
> > - is the object (the target) considered to be inside the protected
> > object as well?
>
> Certainly not.

Then certainly everything is FUBARed.

Consider a container inside the protected object. The container
presumably has access variables to actual contained objects (to
elements) - some containers just cannot be implemented any other way.
If the target objects are considered to be OUTside of the protected
object and thus unprotected, then I'm looking forward to see an
explanation how the synchronized manipulation of these contained
objects is supposed to work.

> Maybe those patterns are just wrong? (:-)) If you use an access
> discriminant or component in a protected object, then the target shall not
> be accessible otherwise than through a protected action traversing this
> object.

Yes. But is this guaranteed? AARM seems to say that objects outside of
the protected objects are not synchronized. Is the target object
covered or not?

Consider this:

protected P is
   procedure Set (I : Integer);
   function Get return Integer;
end P;

Value : Integer;
protected body P is
   procedure Set (I : Integer) is
   begin
      Value := I;
   end Set;

   function Get return Integer is
   begin
      return Value;
   end Get;
end P;

Assume that users only interact with the protected object (Value can
be in the package body, etc.).
Is it compliant? As far as I understand AARM (9.10/9.b), it is not.
Value is OUTside of the protected object.

If it's not, then just adding access value to Value will not make any
difference, unless access values have some implicit magic properties
in the area of memory consistency.

> I don't see any problems with procedures and entries, functions are my
> concern.

See above. Is it "kosher"? If yes, then 9.10/9.b is unclear to me. If
not, then there is no way to synchronize a container that is
implemented in terms of references (linked lists, etc.).

> I am not sure what you mean here. You can safely access things outside
> protected objects from protected actions.

Can you confront it with 9.10/9.b?

--
Maciej Sobczak * www.msobczak.com * www.inspirel.com




  reply	other threads:[~2007-10-08 10:32 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
2007-10-07 21:30                                                     ` Maciej Sobczak
2007-10-08  7:50                                                       ` Dmitry A. Kazakov
2007-10-08 10:32                                                         ` Maciej Sobczak [this message]
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