Contents   Index   Search   Previous   Next
 9.7.3 Conditional Entry Calls
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).
Syntax
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;
Contents   Index   Search   Previous   Next   Legal