Prev | Up | Next | Back | Forward
TOC -- / --.-- / --.--.-- | Index | Search | Syntax | Help


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)
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;

Prev | Up | Next | Back | Forward
TOC -- / --.-- / --.--.-- | Index | Search | Syntax | Help

Ada WWW Home -- Email comments, additions, corrections, gripes, kudos, etc. to:

Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Copyright statement
Page last generated: 95-03-12