CVS difference for ai05s/ai05-0166-1.txt
--- ai05s/ai05-0166-1.txt 2009/10/23 03:40:35 1.1
+++ ai05s/ai05-0166-1.txt 2010/02/20 03:39:14 1.2
@@ -1,4 +1,8 @@
-!standard D.2.4(1) 09-10-22 AI05-0166-1/01
+!standard D.2.1(1.2/2) 10-02-18 AI05-0166-1/02
+!standard D.2.1(6/2)
+!standard 9.5.1(16)
+!standard D.2.4(2/2)
+!standard D.2.4(9/2)
!class Amendment 09-10-22
!status work item 09-10-22
!status received 09-10-22
@@ -25,14 +29,19 @@
!proposal
+Add to package Ada.Dispatching:
+
+ procedure Yield;
+ -- Bounded error if executed within a
+ -- protected operation
+
Add the following library package:
package Ada.Dispatching.Non_Preemptive is
procedure Yield_To_Higher;
- procedure Yield; -- Bounded error if executed within a
- -- protected operation
+ procedure Yield_To_Same_Or_Higher renames Yield;
end Ada.Dispatching.Non_Preemptive;
@@ -55,7 +64,42 @@
!wording
-** TBD **
+Add to package Ada.Dispatching (D.2.1(1.2/2)):
+
+procedure Yield;
+
+
+Add after D.2.1(6/2):
+
+A call of Yield is a task dispatching point (see D.2.1). It is a bounded error
+to call Yield from within a protected action.
+
+
+Add after 9.5.1(16):
+
+ * a call to Ada.Dispatching.Yield;
+
+
+Add after D.2.4(2/2):
+
+The following language-defined library package exists:
+
+package Ada.Dispatching.Non_Preemptive is
+ procedure Yield_To_Higher;
+ procedure Yield_To_Same_Or_Higher renames Yield;
+end Ada.Dispatching.Non_Preemptive;
+
+A call of Yield_To_Higher is a task dispatching point for this policy. If the
+task at the head of the highest priority ready queue has a higher active
+priority than the calling task then calling task is preempted.
+
+
+Replace D.2.4(9/2):
+
+For this policy, a non-blocking delay-statement, a call to Yield_To_Higher and
+a call to Yield_To_Same_Or_Higher or Yield are the only non-blocking events
+that are task dispatching points (see D.2.1).
+
!discussion
@@ -68,7 +112,7 @@
** TBD **
---!corrigendum D.2.4(1)
+--!corrigendum D.2.4(9/2)
!ACATS test
Questions? Ask the ACAA Technical Agent