Go to the first, previous, next, last section, table of contents.


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.

    NOTES

  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;
    


Go to the first, previous, next, last section, table of contents.