1/2
This clause defines a non−preemptive task dispatching policy.
2/2
The policy_identifier Non_Preemptive_FIFO_Within_Priorities is a task dispatching policy.
3/2
Non_Preemptive_FIFO_Within_Priorities shall not be specified as the policy_identifier of pragma Priority_Specific_Dispatching (see D.2.2).
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).
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.
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.