CVS difference for ais/ai-00357.txt

Differences between 1.5 and version 1.6
Log of other versions for file ais/ai-00357.txt

--- ais/ai-00357.txt	2004/02/21 03:05:36	1.5
+++ ais/ai-00357.txt	2004/05/24 22:22:47	1.6
@@ -1,4 +1,4 @@
-!standard D.03 (00)                                  04-02-19  AI95-00357/03
+!standard D.03 (00)                                  04-04-29  AI95-00357/04
 !class amendment 03-09-27
 !status work item 03-09-27
 !status received 03-09-27
@@ -86,8 +86,9 @@
 
 Rule 2
 When a task T becomes unblocked it is placed on the highest
-non-empty ready queue R such that
-  T'Deadline < Deadline of task at tail of R, and
+priority ready queue R such that
+  A protected object with ceiling priority R is currently locked,
+  T'Deadline < Deadline the task locking this protected object, and
   T'Base > Priority level of R.
 if no such R exists then add T to Any_Priority'first.
 
@@ -180,6 +181,9 @@
 deadline of the task to Ada.Real_Time.Clock+TS. A call of Get_Deadline
 returns the absolute deadline of the task.
 
+Setting the task's absolute deadline to the new value takes place as soon as
+is practical but not while the task is performing a protected action.
+
 A call of Delay_and_Set_Relative_Deadline delays the calling task until time
 Delay_Time (equivalent to executing delay until Delay_Time). When the
 task becomes runnable again it will have deadline Delay_Time+TS.
@@ -191,10 +195,10 @@
   head of a queue is the one with the earliest absolute deadline.
 
 o When a task becomes unblocked it is placed on the highest
-  non-empty ready queue such that the deadline of the task is
-  earlier than that of the task on the tail of the queue, and
-  the base priority of the task is greater than the priority
-  level of the ready queue. If no such ready queue exists the
+  priority ready queue R such that the deadline of the task is
+  earlier than that of any task executing within a protected
+  object with ceiling priority R, and the base priority of the
+  task is greater than R. If no such protected object exists the
   task is added to the ready queue for Any_Priority'first.
 
 o When the setting of the base priority of a running task takes effect,
@@ -207,8 +211,8 @@
   original active priority when it no longer inherits the higher
   level.
 
-o A task dispatching point occurs whenever a task has its deadline
-  changed.
+o A task dispatching point occurs for the currently running task
+  whenever a task has its deadline changed.
 
 When task dispatching policy EDF_Across_Priorities is in effect a
 task dispatching point occurs for the currently running task of a
@@ -228,18 +232,14 @@
 
 Notes
 
-The above rules implement the preemption-level protocol for resource
-sharing under EDF dispatching (see Baker[1]). The preemption-level for a
-task is denoted by its base priority. The definition of a ceiling preemption-
-level for a protected object follows the existing rules for ceiling locking.
+The above rules implement the preemption-level protocol (also called
+Stack Resource Policy) protocol for resource sharing under EDF
+dispatching. The preemption-level for a task is denoted by its base
+priority. The definition of a ceiling preemption-level for a protected
+object follows the existing rules for ceiling locking.
 
 An implementation may support addition dispatching policies by replacing
 absolute deadline with an alternative measure of urgency.
-
-Do we put references in? [Editor's note: No.]
-Reference
-[1] Baker, T.P., Stack-Based Scheduling of Real-Time Processes,
-Journal of Real-Time, Vol 3, No 1, pp67-99, March 1991.
 
 !discussion
 

Questions? Ask the ACAA Technical Agent