From: "Alex R. Mosteo" <devnull@mailinator.com>
Subject: Re: select delay; then abort... in Annex E
Date: Mon, 02 Oct 2006 09:33:46 +0200
Date: 2006-10-02T09:33:46+02:00 [thread overview]
Message-ID: <4obtmjFdug6mU1@individual.net> (raw)
In-Reply-To: pan.2006.09.30.22.30.09.84585@linuxchip.demon.co.uk.uk.uk
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.
next prev parent reply other threads:[~2006-10-02 7:33 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-30 22:31 select delay; then abort... in Annex E Dr. Adrian Wrigley
2006-10-02 7:33 ` Alex R. Mosteo [this message]
2006-10-03 11:20 ` Dr. Adrian Wrigley
2006-10-03 11:33 ` Dr. Adrian Wrigley
2006-10-03 13:01 ` Alex R. Mosteo
2006-10-03 19:16 ` Jeffrey R. Carter
2006-10-03 22:31 ` Dr. Adrian Wrigley
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox