- (1)
- A conditional_entry_call issues an entry call that is then cancelled if
it is not selected immediately (or if a requeue-with-abort of the call is not
selected immediately).
(2)
conditional_entry_call ::=
select
entry_call_alternative
else
sequence_of_statements
end select;
Dynamic Semantics
- (3)
- The execution of a conditional_entry_call is defined to be equivalent to
the execution of a timed_entry_call with a delay_alternative specifying an
immediate expiration time and the same sequence_of_statements as given after
the reserved word else.
-
- (4)
(37) A conditional_entry_call may briefly increase the Count attribute
of the entry, even if the conditional call is not selected.
Examples
- (5)
- Example of a conditional entry call:
(6)
procedure Spin(R : in Resource) is
begin
loop
select
R.Seize;
return;
else
null; -- busy waiting
end select;
end loop;
end;
-- Email comments, additions, corrections, gripes, kudos, etc. to:
Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Copyright statement
Page last generated: 95-03-12