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=-2.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Thread: 103376,a0f8bfc88538cab5 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!proxad.net!usenet-fr.net!news.enst.fr!melchior!cuivre.fr.eu.org!melchior.frmug.org!not-for-mail From: Marius Amado Alves Newsgroups: comp.lang.ada Subject: Re: task time-out&abort Date: Wed, 29 Jun 2005 01:32:25 +0100 Organization: Cuivre, Argent, Or Message-ID: References: <1119463703.048124.135330@o13g2000cwo.googlegroups.com> <1119540379.606416.227950@z14g2000cwz.googlegroups.com> <1119543599.616520.185540@g47g2000cwa.googlegroups.com> NNTP-Posting-Host: lovelace.ada-france.org Mime-Version: 1.0 (Apple Message framework v622) Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Trace: melchior.cuivre.fr.eu.org 1120005190 53269 212.85.156.195 (29 Jun 2005 00:33:10 GMT) X-Complaints-To: usenet@melchior.cuivre.fr.eu.org NNTP-Posting-Date: Wed, 29 Jun 2005 00:33:10 +0000 (UTC) To: comp.lang.ada@ada-france.org Return-Path: In-Reply-To: X-Mailer: Apple Mail (2.622) X-Virus-Scanned: by amavisd-new at dcc.fc.up.pt X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at ada-france.org X-BeenThere: comp.lang.ada@ada-france.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Gateway to the comp.lang.ada Usenet newsgroup" List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Xref: g2news1.google.com comp.lang.ada:11716 Date: 2005-06-29T01:32:25+01:00 On 28 Jun 2005, at 22:31, Robert A Duff wrote: > Marius Amado Alves writes: > >>> My goal is that the calling process can abort the call after x second >>> if the computation of the entry take too much time. >> >> Curiously enough on 2001 I wrote this for an Ada-Europe workshop on >> exceptions: >> >> << >> The time-out situation is so common that perhaps it deserves a special >> device in a future Ada: >> >> begin >> ... >> end in 10.0; -- end in 10 seconds, or raise Time_Out >> exception >> when Time_Out => ... >>>> >> (http://www.liacc.up.pt/~maa/files/ehada1.pdf) > > How is this better than ATC (select-then-abort) in Ada 95? > > Note that dynamically nested time-out regions won't work > very well in the above. You need a distinct new exception > for each time-out, and you need to prevent hijacking of the > exception. Sure. Indeed I seem to remember that a major conclusion of the workshop was that ATC in Ada 95 was indeed a very good thing or at least good enough and this was in great part responsible for dropping most of the proposals for extension. Anyway, the above was just a (drafty like hell) specific idiom for the time-out situation, and for 'leaf' parts of the program. Even so, together with another proposal I made in the paper, namely that on the handler you could inspect where the exception came from, it could work also for dynamic scopes. But as indicated this is completely academic now.