comp.lang.ada
 help / color / mirror / Atom feed
From: taft@ajpo.sei.cmu.edu (Tucker Taft)
Subject: Re: Asynchronous entry call proposal
Date: 4 May 89 21:05:05 GMT	[thread overview]
Message-ID: <505@ajpo.sei.cmu.edu> (raw)
In-Reply-To: 5219@hubcap.clemson.edu



Here is a reply which never quite made it to the net:
/* Written 11:54 am  May  1, 1989 by stt@inmet in inmet:comp.lang.ada */
One significant difference between the Asynchronous
Entry Call proposal and "abort" is that the asnychronous
transfer of control is inhibited inside nested accepts.
Normally, abort is only inhibited for a caller inside
a rendezvous.  The acceptor may be aborted within a rendezvous,
causing the unsuspecting caller to get a Tasking_Error.

Note also, that to use the "abort" approach, the
task to be aborted must be visible to the
selective wait, and therefore potentially visible
to other external tasks.  With this proposal, the computation
which will be terminated is nested within the
selective wait, and designed so that no tasks external
to the computation have visibility on it,
and therefore no such external tasks would be unduly affected
by the termination of the computation.

Finally, the proposed syntax makes it very clear
that the "and" part is intended to support premature
termination, as opposed to "abort" where the normal
presumption is that a task will not be aborted except
under extraordinary circumstances, or as the Ada RM puts it:
"an abort statement should be used only in extremely severe
situations..."
In other words, this is intended to be a "structured premature
termination" construct, whereas the "abort" is the analogue of the
"goto," allowing unstructured termination, invocable by
any task having visibility on the victim.

The BNF was intended to indicate that an "else" part
was mutually exclusive with an "and" part in this
proposed selective wait.

Tucker Taft (stt@inmet.inmet.com)
Intermetrics, Inc.
/* End of text from inmet:comp.lang.ada */

      reply	other threads:[~1989-05-04 21:05 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1989-04-20 17:20 Asynchronous entry call proposal stt
1989-04-22 15:59 ` William Thomas Wolfe,2847,
1989-05-04 21:05   ` Tucker Taft [this message]
replies disabled

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