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.6 required=5.0 tests=BAYES_20,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,5a05d88755a62a0e,start X-Google-Attributes: gid103376,public From: James Squire Subject: Asynchronous Transfer of Control Date: 1996/10/16 Message-ID: <32656457.1A76@csehp1.mdc.com>#1/1 X-Deja-AN: 189941572 content-type: text/plain; charset=us-ascii organization: McDonnell Douglas Aerospace mime-version: 1.0 newsgroups: comp.lang.ada x-mailer: Mozilla 2.02 (Win16; I) Date: 1996-10-16T00:00:00+00:00 List-Id: The Ada 95 Rationale on page II-27 shows a short example of ATC that looks something like this: select delay 1.0; Text_IO.Put_Line ("Calculation could not be completed"); then abort Invert_Huge_Matrix (X); end select; I tried this, filling in nested for loops for the Invert_Huge_Matrix statement, and then I added a Text_IO.Put_Line at the end of the abortable part. I then ran this in the debugger and rigged it so that the delay would kick in first. BOTH my Put_Lines were executed, not to mention that the for loops were STILL completed. I reported it to the compiler vendor, and they pointed out to me from the AARM (9.8) that I didn't have an abort completion point in my abortable part. I looked at the list of things that qualify, and sure enough I don't. Unless I am barking up the wrong tree or something, I really don't understand this limitation. Is this yet another example of an invalid code sample in the Rationale? -- James Squire mailto:m193884@csehp1.mdc.com MDA Avionics Tools & Processes McDonnell Douglas Aerospace http://www.mdc.com/ Opinions expressed here are my own and NOT my company's "He must never know what happened. If he should find out, he must be killed. Do you understand, Delenn?" -- Grey Council #1 (re: Sinclair), "And the Sky Full of Stars"