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,3e11ef4efc073f6b X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!z28g2000prd.googlegroups.com!not-for-mail From: christoph.grein@eurocopter.com Newsgroups: comp.lang.ada Subject: Re: requeue with abort and timed call Date: Wed, 31 Dec 2008 07:39:51 -0800 (PST) Organization: http://groups.google.com Message-ID: <133a14c1-efc1-4a27-bc66-cff24a75ef93@z28g2000prd.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> <2a0a1de3-6736-4478-9378-50b8895fa20d@r15g2000prh.googlegroups.com> NNTP-Posting-Host: 91.13.196.250 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: posting.google.com 1230737991 14602 127.0.0.1 (31 Dec 2008 15:39:51 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 31 Dec 2008 15:39:51 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: z28g2000prd.googlegroups.com; posting-host=91.13.196.250; posting-account=rmHyLAoAAADSQmMWJF0a_815Fdd96RDf User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5,gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:3152 Date: 2008-12-31T07:39:51-08:00 List-Id: So if I understand correctly, the behaviour can be summarized as follows in times Ti: T0: timed entry call E1 with delay Delta T1: rendezvous E1 starts T2=T0+Delta: delay expires, but since E1 is executing, rendezvous continues T3: requeued with abort to E2 and rendezvous E1 ends We now have to distinguish two cases: 1. E2 is ready for rendezvous: T3 cont'ed: Entry call E2 is not queued, instead rendezvous E2 starts immediately, so entry call of T0 is not cancelled. From the client's point of view, the entry call terminates normally (because the client is unaware of the requeue). 2. E2 is not ready for rendezvous: T3 cont'ed: Entry call E2 is queued. Since the delay has already expired at T2, the entry call E2 is immediately cancelled, i.e. taken out of the queue again. This is the cancellation of the timed entry call at T0 because the call did not start before the expiration (in fact, it's the call of E2 that did not start before T2, but the client is unaware of the requeue). Is this correct?