comp.lang.ada
 help / color / mirror / Atom feed
From: "James A. Squire" <m193884@CSEHP3.MDC.COM>
Subject: Re: Question about the need for requeue as described in Rationale
Date: 1996/07/08
Date: 1996-07-08T00:00:00+00:00	[thread overview]
Message-ID: <31E16AE7.2F7A@csehp3.mdc.com> (raw)
In-Reply-To: dewar.835359186@schonberg


Bo I. Sanden wrote:
>
> James A. Squire (m193884@CSEHP3.MDC.COM) wrote:
> : I am trying to understand what problem Requeue is trying to solve and
> : the above does not help me.  I can see from the example given how it
> : would be difficult to do the same thing in Ada83, but as I was trying to
> : describe the Ada83 problem that raised the need for this, I found I
> : couldn't come up with any good way of describing the problem.
>
> In my understanding, requeue is "needed" in Ada 95 primarily as part of
> the effort to replace by protected units what was sometimes called
> guardian tasks in Ada 83. Guardian tasks execute only while being
> called by other task, and made a typical Ada 83 program contain more
> tasks than the inherent concurrency of the problem would suggest.
> (Guardian tasks where there to restrict concurrency by enforcing
> synchronization of other tasks.)

I know.  The problem with this Ada83 solution is that it is "voluntary".
There is no enforcement unless tasks voluntarily submit to it.  That is
why I like the Ada95 solution so much.

> In Ada 83, Monitor is a guardian task and the wait is implemented by
> a statement accept Release nested within the body of accept Insist.

You're joking!  This is actually allowed in Ada?  I thought for sure it
was forbidden.  In fact, I thought that was one of the reasons why the
requeue statement was needed.  Now I'm really confused.

If you can have an accept within an accept, then why was the requeue
statement desirable?
--
James Squire
MDA Avionics Tools & Processes
ja_squire@csehp3.mdc.com
Opinions expressed here are my own and NOT my company's
"one of these days I'm going to better myself by going to Knight school"
"You'll be a web knight instead of a web page!"




  parent reply	other threads:[~1996-07-08  0:00 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-06-20  0:00 GNAT Codesize Haug Buerger
1996-06-20  0:00 ` James E. Hopper
1996-06-21  0:00 ` Ralph Paul
1996-06-21  0:00 ` Robert Dewar
1996-06-24  0:00   ` John McCabe
1996-06-24  0:00     ` John Howard
1996-06-25  0:00       ` David J. Fiander
1996-06-25  0:00       ` Robert Dewar
1996-06-26  0:00     ` Robert Dewar
1996-06-28  0:00       ` Fergus Henderson
1996-07-01  0:00         ` Michael Feldman
1996-07-03  0:00           ` John McCabe
1996-07-02  0:00         ` John McCabe
1996-07-03  0:00           ` Robert Dewar
1996-07-06  0:00             ` John McCabe
1996-07-06  0:00               ` Robert Dewar
1996-07-06  0:00               ` Michael Feldman
1996-07-08  0:00             ` Gavin Smyth
1996-06-28  0:00       ` John McCabe
1996-06-28  0:00         ` Fergus Henderson
1996-06-29  0:00           ` John McCabe
1996-07-01  0:00             ` Robert Dewar
1996-07-05  0:00               ` John McCabe
1996-07-05  0:00             ` JP Thornley
1996-06-30  0:00         ` Robert Dewar
1996-07-02  0:00           ` John McCabe
1996-07-03  0:00             ` Robert Dewar
1996-07-03  0:00   ` Question about the need for requeue as described in Rationale James A. Squire
1996-07-05  0:00     ` Bo I. Sanden
1996-07-05  0:00       ` progers
1996-07-06  0:00     ` Robert A Duff
1996-07-04  0:00   ` Samuel Tardieu
1996-07-04  0:00     ` Robert Dewar
1996-07-08  0:00   ` James A. Squire
1996-07-09  0:00     ` progers
1996-07-10  0:00     ` Robert A Duff
1996-07-10  0:00       ` progers
1996-07-08  0:00   ` James A. Squire
1996-07-08  0:00   ` James A. Squire [this message]
1996-07-08  0:00     ` Robert A Duff
1996-07-09  0:00     ` Bo I. Sanden
1996-07-09  0:00   ` Jon S Anthony
1996-06-21  0:00 ` GNAT Codesize Doug Smith
1996-07-08  0:00 ` Question about the need for requeue as described in Rationale James A. Squire
replies disabled

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