Contents   Index   Search   Previous   Next

9.5 Intertask Communication

   The primary means for intertask communication is provided by calls on entries and protected subprograms. Calls on protected subprograms allow coordinated access to shared data objects. Entry calls allow for blocking the caller until a given condition is satisfied (namely, that the corresponding entry is open -- see 9.5.3), and then communicating data or control information directly with another task or indirectly via a shared protected object.

Static Semantics

   Any call on an entry or on a protected subprogram identifies a target object for the operation, which is either a task (for an entry call) or a protected object (for an entry call or a protected subprogram call). The target object is considered an implicit parameter to the operation, and is determined by the operation name (or prefix) used in the call on the operation, as follows:
   A corresponding definition of target object applies to a requeue_statement (see 9.5.4), with a corresponding distinction between an internal requeue and an external requeue.

Dynamic Semantics

   Within the body of a protected operation, the current instance (see 8.6) of the immediately enclosing protected unit is determined by the target object specified (implicitly or explicitly) in the call (or requeue) on the protected operation.
   Any call on a protected procedure or entry of a target protected object is defined to be an update to the object, as is a requeue on such an entry.

Contents   Index   Search   Previous   Next   Legal