Contents   Index   Search   Related Documents   Previous   Next


D.2.4 Non-Preemptive Dispatching

1/2
     This clause defines a non-preemptive task dispatching policy.

Static Semantics

2/2
     The policy_identifier Non_Preemptive_FIFO_Within_Priorities is a task dispatching policy.

Legality Rules

3/2
     Non_Preemptive_FIFO_Within_Priorities shall not be specified as the policy_identifier of pragma Priority_Specific_Dispatching (see D.2.2).

Dynamic Semantics

4/2
     When Non_Preemptive_FIFO_Within_Priorities is in effect, modifications to the ready queues occur only as follows:
5/2
6/2
7/2
8/2
9/2
     For this policy, a non-blocking delay_statement is the only non-blocking event that is a task dispatching point (see D.2.1).

Implementation Requirements

10/2
      An implementation shall allow, for a single partition, both the task dispatching policy to be specified as Non_Preemptive_FIFO_Within_Priorities and also the locking policy (see D.3) to be specified as Ceiling_Locking.

Implementation Permissions

11/2
      Since implementations are allowed to round all ceiling priorities in subrange System.Priority to System.Priority'Last (see D.3), an implementation may allow a task to execute within a protected object without raising its active priority provided the associated protected unit does not contain pragma Interrupt_Priority, Interrupt_Handler, or Attach_Handler.

Contents   Index   Search   Related Documents   Previous   Next   Legal