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.1 required=5.0 tests=BAYES_00, PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,4bd6ca8f7a1eb225 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Received: by 10.68.36.6 with SMTP id m6mr5745369pbj.4.1322787051098; Thu, 01 Dec 2011 16:50:51 -0800 (PST) MIME-Version: 1.0 Path: lh20ni54778pbb.0!nntp.google.com!news1.google.com!goblin2!goblin1!goblin.stu.neva.ru!news.tornevall.net!news.jacob-sparre.dk!pnx.dk!jacob-sparre.dk!ada-dk.org!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Class with task destructor Date: Thu, 1 Dec 2011 18:50:47 -0600 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <30604696.94.1322013045135.JavaMail.geo-discussion-forums@yqzz20> <24938373.1788.1322615481874.JavaMail.geo-discussion-forums@yqjo5> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1322787050 11981 69.95.181.76 (2 Dec 2011 00:50:50 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Fri, 2 Dec 2011 00:50:50 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Response X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news1.google.com comp.lang.ada:19299 Date: 2011-12-01T18:50:47-06:00 List-Id: "Yannick Duch�ne (Hibou57)" wrote in message news:op.v5syuzm9ule2fv@douda-yannick... Le Thu, 01 Dec 2011 01:40:09 +0100, Randy Brukardt a �crit: >> The problem is that waiting on multiple events is not something that is >> easily done >As Janus Ada is a Windows Ada compiler, I guess you know Windows has some >way to wait for multiple events and it works rather fine. What is >different here ? Janus/Ada's task supervisor predates Windows and doesn't (to date) use any Windows facilities at all. So what Windows can or cannot do isn't terribly relevant. [Humm, that's not 100% true, it does use Sleep and the clock routines. But that't it, and Sleep was the only thing added specifically for Windows.] In any case, what a particular target can do is not that relevant to what the language design can do. Ada 95 tried to add a multi-way entry call, and every implementer who studied it ended up reporting that the implementation would essentially end up being some form of polling. Which is not what anyone was hoping for. It got dropped from Ada 95. Clearly, a termination feature can always be implemented by polling, but we don't need any feature like that -- you can write that yourself. We have to have a feature that actually can be implemented by waiting, and that is not as easy as it seems on the surface. (I'm not going to comment on the problems that AdaCore found; someone there will have to explain those if they want.) Randy.