comp.lang.ada
 help / color / mirror / Atom feed
From: Jeffrey Carter <spam@spam.com>
Subject: Re: Ravenscar - Multiple Protected Entries
Date: Mon, 11 Aug 2003 19:18:33 GMT
Date: 2003-08-11T19:18:33+00:00	[thread overview]
Message-ID: <3F37EC07.30009@spam.com> (raw)
In-Reply-To: bh8icr$lkd$1@news.cs.tu-berlin.de

Stephan Heinemann wrote:
> 
> I am a littlebit confused... In 9.5.3 you can find the following
> statement: "If calls from two or more queues are simultaneously
> eligible for selection, the default entry queuing policy does not
> specify which queue is serviced first.". The default queuing policy is
> FIFO_Queuing. In section D.4 you can find the following: "When more
> than one condition of an entry_barrier of a protected object becomes
> True, and more than one of the respective queues is nonempty, the call
> with the highest priority is selected. If more than one such call has
> the same priority, the call that is queued on the entry whose
> declaration is first in textual order in the protected_definition is
> selected. For members of the same entry family, the one with the lower
> family index is selected." Well, what shall I believe now?

All compilers have to implement the core language, and section 9 is part 
of the core language. Annex D (Real-Time Systems) is an optional annex 
that a compiler vendor can choose not to implement, to implement 
partially, or to implement completely. If your compiler implements Annex 
D and you don't mind being limited to compilers that implement Annex D, 
then you can rely on the entry that appears first in the protected 
unit's specification. If you want to be portable to all compilers, you 
can only count on the things in the core language. This appears to be 
the intention of Ravenscar, since it limits protected objects to a 
single entry to avoid non-determinism.

-- 
Jeff Carter
"We use a large, vibrating egg."
Annie Hall




  reply	other threads:[~2003-08-11 19:18 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-03 16:30 Ravenscar Stephan Heinemann
2003-08-04  8:19 ` Ravenscar Lutz Donnerhacke
2003-08-04 12:52 ` Ravenscar Matthew Heaney
2003-08-04 14:24   ` Ravenscar Phil Thornley
2003-08-04 20:49   ` Ravenscar Stephan Heinemann
2003-08-07 16:37     ` Ravenscar - Scheduling Stephan Heinemann
2003-08-07 17:16       ` Stephan Heinemann
2003-08-10 17:46     ` Ravenscar Stephan Heinemann
2003-08-06  9:43 ` Ravenscar Rodrigo Garcia
2003-08-09 15:44 ` Ravenscar - timouts Stephan Heinemann
2003-08-09 18:29 ` Ravenscar - Multiple Protected Entries Stephan Heinemann
2003-08-10  2:36   ` Jeffrey Carter
2003-08-10 17:41     ` Stephan Heinemann
2003-08-10 19:17       ` Jeffrey Carter
2003-08-11 16:35         ` Stephan Heinemann
2003-08-11 17:05         ` Stephan Heinemann
2003-08-11 19:18           ` Jeffrey Carter [this message]
2003-08-12 17:07             ` Stephan Heinemann
2003-08-12 16:31     ` Colin Paul Gloster
2003-08-12 17:10       ` Stephan Heinemann
2003-08-12 19:10         ` Colin Paul Gloster
2003-08-13 19:17           ` Colin Paul Gloster
replies disabled

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