CVS difference for ais/ai-00265.txt

Differences between 1.7 and version 1.8
Log of other versions for file ais/ai-00265.txt

--- ais/ai-00265.txt	2003/03/04 04:56:22	1.7
+++ ais/ai-00265.txt	2003/05/24 00:51:37	1.8
@@ -1,4 +1,4 @@
-!standard H.6 (00)                                    03-02-18  AI95-00265/07
+!standard H.6 (00)                                    03-05-02  AI95-00265/08
 !class amendment 01-05-10
 !status Amendment 200Y 03-02-18
 !status ARG Approved 8-0-0  03-02-09
@@ -23,9 +23,9 @@
 
 !proposal
 
-To satisfy the requirements of the Safety Critical and High-Integrity domains,
+To satisfy the requirements of the Safety-Critical and High-Integrity domains,
 there is a need to define the behavior of program elaboration to be atomic;
-that is, no interrupts are delivered and task activation shall be deferred
+that is, no interrupts are delivered and task activations are deferred
 until the completion of all library-level elaboration code. This eliminates
 all hazards that relate to tasks and interrupt handlers accessing global data
 prior to it having been elaborated, without having to resort to potentially
@@ -40,7 +40,7 @@
 The policy is selected by the configuration pragma
 Partition_Elaboration_Policy. Two policy identifiers are defined by the
 standard : Sequential and Concurrent. The default policy is Concurrent.
-If Sequential is chosen then Restriction No_Task_Hierarchy must also
+If Sequential is chosen then the restriction No_Task_Hierarchy must also
 be specified.
 
 !wording
@@ -75,12 +75,12 @@
 defined for the partition, then the rules defined elsewhere in this
 Standard apply.
 
-If the partition elaboration policy is Sequential, all task activation for
-library-level tasks and all interrupt handler attachment for library-level
-interrupt handlers is deferred. The deferred task activation and handler
-attachment occurs after the elaboration of all library_items prior to calling
+If the partition elaboration policy is Sequential, all task activations for
+library-level tasks and all interrupt handler attachments for library-level
+interrupt handlers are deferred. The deferred task activations and handler
+attachments occur after the elaboration of all library_items prior to calling
 the main subprogram. At this point the Environment task is suspended until all
-deferred task activation and handler attachment is complete.
+deferred task activations and handler attachments are complete.
 
 If any deferred task activation fails, Tasking_Error is raised
 in the Environment task. The Environment task and all tasks whose
@@ -93,7 +93,7 @@
 
 If the partition elaboration policy is Sequential and the Environment task
 becomes permanently blocked during elaboration then the partition is
-deadlocked and it is recommended that it be immediately terminated.
+deadlocked and it is recommended that the partition be immediately terminated.
 
 Implementation Permission
 
@@ -106,8 +106,14 @@
 
 !discussion
 
-The Restriction No_Task_Hierarchy is needed to prevent deadlock.
+If, during the period while task activation is deferred, a function containing
+a task is called, we have trouble. The function is not allowed to return until
+the task terminates, but the task is not allowed to start! We have a deadlock
+situation. Therefore, we require the restriction No_Task_Hierarchy when the
+Partition_Elaboration_Policy is Sequential; this makes declaring such a
+function illegal.
 
+
 !corrigendum H.06(01)
 
 @dinsc
@@ -139,12 +145,12 @@
 defined for the partition, then the rules defined elsewhere in this
 Standard apply.
 
-If the partition elaboration policy is Sequential, all task activation for
-library-level tasks and all interrupt handler attachment for library-level
-interrupt handlers is deferred. The deferred task activation and handler
-attachment occurs after the elaboration of all @fa<library_item>s prior to
+If the partition elaboration policy is Sequential, all task activations for
+library-level tasks and all interrupt handler attachments for library-level
+interrupt handlers are deferred. The deferred task activations and handler
+attachments occur after the elaboration of all @fa<library_item>s prior to
 calling the main subprogram. At this point the Environment task is suspended
-until all deferred task activation and handler attachment is complete.
+until all deferred task activations and handler attachments are complete.
 
 If any deferred task activation fails, Tasking_Error is raised
 in the Environment task. The Environment task and all tasks whose
@@ -157,7 +163,7 @@
 
 If the partition elaboration policy is Sequential and the Environment task
 becomes permanently blocked during elaboration then the partition is deadlocked
-and it is recommended that it be immediately terminated.
+and it is recommended that the partition be immediately terminated.
 
 @i<@s8<Implementation Permission>>
 

Questions? Ask the ACAA Technical Agent