comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Protected handlers & entry bodies
Date: Sun, 18 Jan 2015 23:15:50 +0000
Date: 2015-01-18T23:15:50+00:00	[thread overview]
Message-ID: <lyy4ozof2x.fsf@pushface.org> (raw)

This is for a Ravenscar RTS.

In GNAT, if an protected entry's guard is opened by a protected
procedure, the entry code is executed in the thread of control (task)
that called the protected procedure. I haven't looked in detail at the
normal RTS, but I suspect that after a protected procedure call each of
the entries is serviced (the guard is evaluated, and if open the entry
code is called). In Ravenscar, there's only one entry, so things are
a bit simpler.

The generated code appears to do exactly the same for protected
procedure handlers, in which case the entry code is going to be executed
in the thread of the ISR.

This may well require restrictions on what can be done in the entry. Is
this covered by C.3.1(17)?

             reply	other threads:[~2015-01-18 23:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-18 23:15 Simon Wright [this message]
2015-01-19 20:18 ` Protected handlers & entry bodies Randy Brukardt
2015-01-19 21:36   ` Simon Wright
2015-01-20 22:05     ` Randy Brukardt
2015-01-20 22:46       ` Simon Wright
2015-01-21 20:39         ` Randy Brukardt
replies disabled

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