comp.lang.ada
 help / color / mirror / Atom feed
From: adam@irvine.com
Subject: Requeue and IN OUT parameters
Date: 4 May 2001 20:28:57 GMT
Date: 2001-05-04T20:28:57+00:00	[thread overview]
Message-ID: <9cv3e9$gul$1@news.netmar.com> (raw)

I have a couple more questions about protected objects.  Here's the first 
question; the second will be in a separate post.

9.5.4(11) says that if an entry body completes other than by a
requeue, the program returns to the caller and any copy-back of
parameters occurs.  What happens to the parameters if the entry
body does a requeue?  In this example:

    protected PR is
       entry E1 (Count : in out integer);
       entry E2 (Count : in out integer);
    end PR;

    protected body PR is
       entry E1 (Count : in out integer) when Some_Condition is
       begin
           if Blah_Blah_Blah then
               Count := Count + 1;
               requeue E2;
           end if;
           Do_A_Bunch_Of_Other_Stuff;
       end E1;
    . . .

In this example, does the effect of the statement "Count := Count + 1"
become lost?  Is the value E2 sees the original value of Count, the
incremented value, or implementation-dependent?

(Actually, I believe this question is pertinent to task entries also.)

				-- thanks, Adam

 -----  Posted via NewsOne.Net: Free (anonymous) Usenet News via the Web  -----
  http://newsone.net/ -- Free reading and anonymous posting to 60,000+ groups
   NewsOne.Net prohibits users from posting spam.  If this or other posts
made through NewsOne.Net violate posting guidelines, email abuse@newsone.net



             reply	other threads:[~2001-05-04 20:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-04 20:28 adam [this message]
2001-05-05  6:27 ` Requeue and IN OUT parameters Mark Biggar
2001-05-05 22:13 ` Robert A Duff
replies disabled

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