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: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.swapon.de!newsfeed.fsmpi.rwth-aachen.de!uucp.gnuu.de!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Mon, 02 Sep 2013 10:41:02 +0200 From: "G.B." User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Ada advocacy References: <19595886.4450.1332248078686.JavaMail.geo-discussion-forums@vbbfy7> <2012032020582259520-rblove@airmailnet> <12ee9bc5-3bdf-4ac0-b805-5f10b3859ff4@googlegroups.com> <6c58fae4-6c34-4d7a-ab71-e857e55897c0@x6g2000vbj.googlegroups.com> <8c3b331d-4da7-46ec-ab8e-2496c294cde4@googlegroups.com> In-Reply-To: <8c3b331d-4da7-46ec-ab8e-2496c294cde4@googlegroups.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <52244ec0$0$6573$9b4e6d93@newsspool3.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 02 Sep 2013 10:39:28 CEST NNTP-Posting-Host: 84c2b730.newsspool3.arcor-online.net X-Trace: DXC=Oadk[6BH_k;nBOkdL^Lo7>McF=Q^Z^V384Fo<]lROoR18kFF;nc\616M64>:Lh>_cHTX3j=S=7T\3dT@:> X-Complaints-To: usenet-abuse@arcor.de Xref: news.eternal-september.org comp.lang.ada:17080 Date: 2013-09-02T10:39:28+02:00 List-Id: On 02.09.13 09:13, Egil H H wrote: > On Thursday, August 29, 2013 11:43:30 PM UTC+2, Jeffrey R. Carter wrote: >> You can do >> >> >> >> select >> >> P1.E1; -- An entry call. >> >> then abort >> >> P2.E4; -- Another entry call. >> >> end select; >> >> >> >> to wait for 1 of 2 entry calls, and you can nest another ATC in there to do 3, and so on to whatever depth you like, so >> >> I don't really see a reason for the language not to provide a multi-way select for entry calls. >> > > There's a race condition here: > 1. P1.E1 is not open, P2.E4 is open and starts to execute. > 2. P1.E1 becomes open while P2.E4 is still executing. > 3. P2.E4 is not aborted, as entries are abort deferred regions > 4. P1.E1 and P2.E4 is both executed and run to completion. Assuming that P1 and P2 are POs (or passive tasks), there is just one program counter applying to both. Won't this prevent P1 and P2 from running at the same time?