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.3 required=5.0 tests=BAYES_00,INVALID_MSGID,XPRIO autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,cbb4573e858c2040,start X-Google-Attributes: gid103376,public From: "nootah" Subject: Newbie: Clarification of non-determinsitcis selection in Ada rendevous Mechanism Date: 2000/05/17 Message-ID: <8fstnl$dd$1@news.ihug.co.nz>#1/1 X-Deja-AN: 624332436 X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200 Organization: The Internet Group Ltd X-MSMail-Priority: Normal Newsgroups: comp.lang.ada Date: 2000-05-17T00:00:00+00:00 List-Id: Hi people, Currently studying a course where Ada is referred to but not taught and have a brief section on Active Objects using the Ada rendevous mechanism as an example. Question is: if the selection of action from a select clause is non-deterministic, then does the active object pause at the select statement or does it elect one of the processes to wait for - the altter is what I have been told. My problem with this - if multiple guard conditions are simultaneously true, and one is selected prior to any call, then what occurs when one of the client processes calls another guarded func. e.g. where a=5 select when a>0 => accept(FirstFunc) when a<10 => accept(SecondFunc) end select end select If object halts at select and waits for request from client what happens if func called and guard condition not fulfilled ? - presumably client blocks until condition met and task can respond - queues the request and blocks client On the other hand, if object elects FirstFunc, but client SecondFunc is first call received - what happens ? presumably .. I have no idea! Any help gratefully appeciated . Cheers Andy