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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,3e11ef4efc073f6b X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!postnews.google.com!r15g2000prh.googlegroups.com!not-for-mail From: sjw Newsgroups: comp.lang.ada Subject: Re: requeue with abort and timed call Date: Mon, 29 Dec 2008 13:05:58 -0800 (PST) Organization: http://groups.google.com Message-ID: <2a0a1de3-6736-4478-9378-50b8895fa20d@r15g2000prh.googlegroups.com> References: <2a60b044-6a5c-4ce6-93e6-6eeefc8806c3@l33g2000pri.googlegroups.com> <1f6rcb1qwt7vx.1mckzyk9ucohf.dlg@40tude.net> <84c56781-1cb1-4d86-be14-e66fc9fdade6@w1g2000prk.googlegroups.com> <7p8onuvzdz18$.1m1dq8n3b52q5.dlg@40tude.net> <9j9ajg.3a7.ln@hunter.axlog.fr> NNTP-Posting-Host: 62.49.19.209 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1230584758 23212 127.0.0.1 (29 Dec 2008 21:05:58 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 29 Dec 2008 21:05:58 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: r15g2000prh.googlegroups.com; posting-host=62.49.19.209; posting-account=_RXWmAoAAADQS3ojtLFDmTNJCT0N2R4U User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1,gzip(gfe),gzip(gfe) Xref: g2news2.google.com comp.lang.ada:4083 Date: 2008-12-29T13:05:58-08:00 List-Id: On Dec 29, 10:42=A0am, Jean-Pierre Rosen wrote: > Anyway, it is clear that the second call should be cancelled in this > example. The whole example is far from clear to me. If I were reviewing this design I would have great difficulty understanding what the designer was trying to do and whether the code achieved it. The decision to requeue ought to be speedy. Requeue because you can't deal with it now; don't ponder for 3 seconds and then decide to requeue for a further arbitrary period. If the code said accept Original_Call do Put_Line ("Original Call..."); delay 3.0; Put_Line ("Original Call Done"); end Original_Call; ie without the requeue, the timed entry call would not be cancelled, because we're abort-deferred. So a caller design which relies on the callee having/not having a requeue is broken. Isn't it normally considered bad practice to do extensive processing within the accept statement?