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,bccb34741ee584f4 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!news.glorb.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: "Alex R. Mosteo" Newsgroups: comp.lang.ada Subject: Re: select delay; then abort... in Annex E Date: Mon, 02 Oct 2006 09:33:46 +0200 Message-ID: <4obtmjFdug6mU1@individual.net> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit X-Trace: individual.net 08bqaCSdJCwi6p9Etebd/AP7YYodo71BR/GthAErAz7Bomnk8= User-Agent: KNode/0.10.4 Xref: g2news2.google.com comp.lang.ada:6837 Date: 2006-10-02T09:33:46+02:00 List-Id: Dr. Adrian Wrigley wrote: > Hi guys, > > Things are now working *much* better with my Annex E setup here. > > The server hasn't been totally free of problems, but at least I > can't point the finger at Glade this time ;-) > > I wanted to limit the execution time of a partition. So I tried > something like: > > select > delay 10.0; > Complain; > then abort > RemoteProcedure; > end select; > > the intent was that the partition would terminate if the > RemoteProcedure exceeded the alloted 10s of execution time. > > Unfortunately, what happens is that the code runs for the full > duration of the RemoteProcedure (say 10 minutes), then it > invokes Complain, finally exiting. This is the behavior you get if you try the same with a Text_Io.Get_Line call (that indeed is potentially blocking IO). > Why can't the RemoteProcedure be aborted? Is it because it > is a blocking operation (E.4.17)? E.4.13 suggests the construct > can be aborted (cancelling the remote operation), but the > above code suggests it can't. > > Is there a way to get my partition to terminate regardless > of outstanding remote calls? An idea is to do it the dirty way, creating a new task to do the call and aborting it the rough way. I've taken a quick look at ARM05/9.8.5 but couldn't conclude anything.