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=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: border1.nntp.dca3.giganews.com!backlog3.nntp.dca3.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!feeds.news.ox.ac.uk!news.ox.ac.uk!nntp-feed.chiark.greenend.org.uk!ewrotcd!reality.xs3.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Asynchronous Transfer of Control Date: Thu, 10 Apr 2014 17:49:31 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <594ec168-808b-4b4e-96ff-5eb569e52413@googlegroups.com> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: loke.gir.dk 1397170171 12281 69.95.181.76 (10 Apr 2014 22:49:31 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Thu, 10 Apr 2014 22:49:31 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Original-Bytes: 2521 Xref: number.nntp.dca.giganews.com comp.lang.ada:185670 Date: 2014-04-10T17:49:31-05:00 List-Id: "Adam Beneschan" wrote in message news:b00eabf3-5933-4c43-a75f-7137cd3fb95d@googlegroups.com... ... >If it's a mathematical calculation, chances are that it doesn't; however, >adding >"delay 0.0;" statements at key places in the calculation would add abort >compeltion points, and hopefully this statement would be implemented in a >way >so that it isn't a severe drag on efficiency. It shouldn't be, but our experience with Claw was that not all implementers got the memo. (At least not until we submitted Claw bug reports to them.) >(There's also Ada.Dispatching.Yield, which the RM says is a "task >dispatching >point", but it's not clear to me whether all task dispatching points are >also >abort completion points--seems like they should be, but I'd have to check >the >RM further.) I don't think they are, but it doesn't matter. Annex D requires immediate abort, so if you have Ada.Dispatching.Yield, you also have made everything essentially an abort completion point. I'm not sure why abort completion points and task dispatching points are different in the RM; I'm pretty sure our implementation treats them as the same thing. Maybe that's also because of Annex D - task dispatching point is defined there and that's too late for the formal semantics of abort. Randy.