From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!rochester!pt.cs.cmu.edu!sei!ajpo!taft From: taft@ajpo.sei.cmu.edu (Tucker Taft) Newsgroups: comp.lang.ada Subject: Re: Asynchronous entry call proposal Summary: How it differs from abort Message-ID: <505@ajpo.sei.cmu.edu> Date: 4 May 89 21:05:05 GMT References: <124000037@inmet> <5219@hubcap.clemson.edu> List-Id: 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 */