comp.lang.ada
 help / color / mirror / Atom feed
From: xavier grave <xavier.grave@ipno.in2p3.fr>
Subject: Re: Array not updated in procedure in protected type
Date: Fri, 22 Jan 2010 17:51:40 +0100
Date: 2010-01-22T17:51:40+01:00	[thread overview]
Message-ID: <hjcl2s$d8v$1@ccpntc8.in2p3.fr> (raw)
In-Reply-To: <3e834b40-609f-47a1-87bc-1b653098b140@a6g2000yqm.googlegroups.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Maksymilian Boguń a écrit :
> Hi!
> I created a protected object with a private array of records. When I
> want to update the elements of this array, I use a procedure in this
> protected object. The important part is:
> 
> My_Bird := Birds(Bird_I);
> if not My_Bird.Alive then
>    return;
> end if;
> My_Bird.Alive := False;
> Birds(Bird_I) := My_Bird;
> 
> When running with debugger, I can see, that Birds(Bird_I).Alive is
> False after this code is executed. However, when I switch to another
> task and call this procedure again Birds(Bird_I).Alive is still True.
> The array is not modified anywhere else, only through this protected
> object. What is wrong, why doesn't it work?

Can you add a little more code ?
the protected type declaration for example
or best of all : a simple test_case where this code is ?

xavier
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAktZ15wACgkQVIZi0A5BZF4yzwCeM7Zhw5LlstKVWpciBpDliZhC
JLMAoKxC6mE4Zge8Ejj/mKJOdD6yAx0G
=od/+
-----END PGP SIGNATURE-----



  reply	other threads:[~2010-01-22 16:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-22 16:26 Array not updated in procedure in protected type Maksymilian Boguń
2010-01-22 16:51 ` xavier grave [this message]
2010-01-23 16:37   ` Maksymilian Boguń
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox