[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Self-deadlock
On Tue, 4 Apr 2000, Oyvind Teig wrote:
> BOOL a, b:
> SEQ
> a := FALSE
> b := FALSE
> WHILE TRUE
> ALT
> INT v1:
> a & c1 ? v1
> SKIP
> INT v2:
> b & c2 ? v2
> SKIP
>
> Does KRoC detect this error at compile-time?
>
> SPoC sees it at run-time. It writes "Deadlock, #no stopped processes"
> to stderr on return from Scheduler, in main.
>
> Isn't it "required" to handle this by the compiler or at run-time
> already when the ALT is set up?
I think an ALT with no body is supposed to act like STOP, which it does.
I also think that the occam semantics require deadloc to be decctable---it
is distinguished from divergence. That is, an implementation should treat
STOP and WHILE TRUE
SKIP
differently. SPoC does, by reporting deadlock.
Denis A Nicole WWW: http://www.hpcc.ecs.soton.ac.uk/~dan
High Performance Computing Email: dan@xxxxxxxxxxxxxxx
Department of Electronics Phone: +44 23 8059 2703
& Computer Science Fax: +44 23 8059 3903
University of Southampton
SO17 1BJ
United Kingdom