Ada Conformity Assessment Authority      Home Conformity Assessment   Test Suite ARGAda Standard
Overview of Ada 2022
Jeff Cousins
Contents   Index   Search   Previous   Next 

6.7 Nonpreemptive dispatching needs more dispatching points

In non-preemptive dispatching there needs to be sufficient points where rescheduling can occur, so as to restrict the amount of time that a low priority task can block a higher priority task. If the low priority task “gets lucky” and the entries it calls are open, and suspension objects true, it can be some time before a rescheduling point occurs.
Nonpreemptive dispatching needs more dispatching points (AI12-0279) provides a solution to this is by defining a Yield aspect that can be specified for a subprogram (see RM D.2.1). If a reschedule has not occurred within a call of the subprogram, then one is inserted at the return from the subprogram.

Contents   Index   Search   Previous   Next 
© 2021, 2022 Jeff Cousins