Ada Reference ManualLegal Information
Contents   Index   References   Search   Previous   Next 

9.7.3 Conditional Entry Calls

1/2
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). A procedure call may appear rather than an entry call for cases where the procedure might be implemented by an entry. 

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
NOTES
4
41  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   References   Search   Previous   Next 
Ada-Europe Ada 2005 and 2012 Editions sponsored in part by Ada-Europe