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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,95a195198c452b32 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local1.nntp.dca.giganews.com!nntp.megapath.net!news.megapath.net.POSTED!not-for-mail NNTP-Posting-Date: Mon, 21 Feb 2005 18:13:53 -0600 From: "Randy Brukardt" Newsgroups: comp.lang.ada References: Subject: Re: Finalization of a record containing a task Date: Mon, 21 Feb 2005 18:15:40 -0600 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300 Message-ID: NNTP-Posting-Host: 64.32.209.38 X-Trace: sv3-IUqW43+k7W5D6SXfIy4W84iCeawqRIi4ddatQmOdJkzIIDd56Fy68nJZct8H9MvKsfz48VsE1YwuwbF!vc/HlwHHsULDUgy7BpqwgHTNxhiAy4ig5QsoyW9bR94iGkzx4fCzSmbptzA/jhCvKtZMg1yTZmJA X-Complaints-To: abuse@megapath.net X-DMCA-Complaints-To: abuse@megapath.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.31 Xref: g2news1.google.com comp.lang.ada:8455 Date: 2005-02-21T18:15:40-06:00 List-Id: "Robert A Duff" wrote in message news:wccll9h4mm6.fsf@shell01.TheWorld.com... ... > Note that it was proposed during Ada 9X to allow multiple entry calls, > as in: > > select > X.Some_Entry(...); > or > Y.Some_Other_Entry(...); -- illegal! > end select; > > which would mean pick whichever entry call becomes ready first > (similar to the multiple accept case). > Sadly, that didn't make it into Ada 95 (nor Ada 2005). > I don't know of any semantic anomalies; I think it was just > considered too hard to implement. Nothing sad about it. The Ada 9X office required all of the U-I teams to make a detailed report. I remember spending a lot of time on that. The conclusion of all of the reports was that it would have ended being implemented as a busy-wait loop on virtually all systems, and thus it would look cheap while the implementation would have been very expensive. (And the users that were clamoring for it, the hard real-time people, would have never actually used it in practice.) Those reports are still available somewhere in the archives (archive.adaic.com). Specifically, the calls above would end up implemented similarly to: loop select X.Some_Entry(...); else null; end select; select Y.Some_Other_Entry(...); -- illegal! else null; end select; delay ; -- Let other tasks run. end loop; so you might as well write the above if it really is needed. Randy.