CVS difference for ais/ai-10188.txt

Differences between 1.2 and version 1.3
Log of other versions for file ais/ai-10188.txt

--- ais/ai-10188.txt	2004/11/14 06:37:21	1.2
+++ ais/ai-10188.txt	2004/12/09 19:55:38	1.3
@@ -1,5 +1,9 @@
-!standard D.5      (10)                             04-11-08  AI95-00188-02/01
+!standard D.5      (10)                             04-12-02  AI95-00188-02/02
+!standard D.5      (12)
+!standard D.4      (15)
 !class binding interpretation 04-11-08
+!status Amendment 200Y 04-12-02
+!status ARG Approved 8-0-2  04-11-20
 !status work item 04-11-08
 !status received 04-11-08
 !priority Medium
@@ -15,7 +19,7 @@
 
 Must the setting of a task base priority happen
 "immediately" on a monoprocessor, in analogy with the
-requirements for preemptive abort?
+requirements for preemptive abort? (Yes.)
 
 !recommendation
 
@@ -27,20 +31,30 @@
 
 !wording
 
-Replace D.5(10) with
-Setting the task's base priority to the new value takes place immediately
-unless the task is performing a protected action in which case it is postponed
-until the protected action is completed.
+Replace D.5(10):
 
-Add new paragraph to D.4(15) under Implementation Permissions:
-Implementations are allowed to defer the reordering of entry queues following
-a change of base priority of a task blocked on the entry call if it is not
-practical to reorder the queue immediately.
+  On a system with a single processor, the setting of a task's base priority
+  to the new value occurs immediately at the first point that is outside the
+  execution of an abort-deferred operation.
+
+Add after D.5(12):
+
+  Documentation Requirements
 
-AARM Note:
-The reordering should occur as soon
-as the blocked task can itself perform the reinsertion into the entry queue.
+  On a multiprocessor, the implementation shall document any conditions that
+  cause the completion of the setting of a task's priority to be delayed later
+  than what is specified for a single processor.
 
+Add after D.4(15):
+
+  Implementations are allowed to defer the reordering of entry queues following
+  a change of base priority of a task blocked on the entry call if it is not
+  practical to reorder the queue immediately.
+
+  AARM Note:
+  The reordering should occur as soon as the blocked task can itself perform
+  the reinsertion into the entry queue.
+
 !discussion
 
 The questioner was expecting a response along the lines of:
@@ -84,6 +98,44 @@
 on an entry queue but also for those on ready queues and the delay queue.
 This does undermine the fundamental purpose of changing another task's
 priority; and hence some tightening of the language definition is justified.
+
+!corrigendum D.4(15)
+
+@dinsa
+Implementations are allowed to define other queuing policies, but need not
+support more than one such policy per partition.
+@dinst
+Implementations are allowed to defer the reordering of entry queues following
+a change of base priority of a task blocked on the entry call if it is not
+practical to reorder the queue immediately.
+
+!corrigendum D.5(10)
+
+@drepl
+Setting the task's base priority to the new value takes place as soon as is
+practical but not while the task is performing a protected action. This setting
+occurs no later then the next abort completion point of the task T (see 9.8).
+@dby
+On a system with a single processor, the setting of a task's base priority
+to the new value occurs immediately at the first point that is outside the
+execution of an abort-deferred operation.
+
+!corrigendum D.5(12)
+
+@dinsa
+If any subprogram in this package is called with a parameter T that specifies a
+task object that no longer exists, the execution of the program is erroneous.
+@dinst
+@i<@s8<Documentation Requirements>>
+
+On a multiprocessor, the implementation shall document any conditions that
+cause the completion of the setting of a task's priority to be delayed later
+than what is specified for a single processor.
+
+!ACATS Test
+
+We need tests like the ones in CXD6001, CXD6002, and CXD6003, which purport
+to test immediate abort.
 
 !appendix
 

Questions? Ask the ACAA Technical Agent