CVS difference for ais/ai-00237.txt
--- ais/ai-00237.txt 2001/05/26 02:55:11 1.8
+++ ais/ai-00237.txt 2001/09/08 01:42:48 1.9
@@ -1,4 +1,4 @@
-!standard C.07.02 (17) 01-05-20 AI95-00237/04
+!standard C.07.02 (17) 01-09-07 AI95-00237/05
!class binding interpretation 00-05-31
!status ARG approved 8-0-0 01-05-20
!status work item 00-06-01
@@ -15,7 +15,7 @@
at any point after their task is terminated and no later than the completion
of the master of the instantiation of Ada.Task_Attributes that created them.
-It is a bounded error to call Ada.Task_Identification.Current_Task from the
+It is a bounded error to call Ada.Task_Identification.Current_Task during the
finalization of a task attribute.
!question
@@ -39,7 +39,7 @@
Add the following after C.7.2(13):
When the master of an instantiation of Ada.Task_Attributes is finalized,
- the associated attribute for all tasks is finalized.
+ the corresponding attribute of each task is finalized.
Delete C.7.2(17).
@@ -55,15 +55,15 @@
!discussion
-Although it is not clear from the RM, it is not possible in general for a
-task to finalize its own attributes. That occurs because a task that is never
+Although it is not clear from the the standard, it is not possible in general
+for a task to finalize its own attributes. This is because a task that is never
activated may have attributes that require finalization.
However, this begs the question: if a task owning attributes cannot finalize
-them, what task does? One way to attempt to answer the question is to determine
+them, what task can? One way to attempt to answer the question is to determine
the master of the attributes. (After all, for ordinary objects, it is the
-master that determines when they are finalized.) However, the RM never
-addresses this at all.
+master that determines when they are finalized.) However, the standard does not
+address this at all.
It is clear that the task attributes should not exist any longer than the
instantiation that created them. If they do exist past that point, there is the
@@ -83,7 +83,7 @@
Therefore, we convert this rule to an implementation permission, allowing
finalization at any point after a task terminates. We leave it as an
implementation permission (rather than deleting it outright) for three reasons:
- * So that existing implementation needs not changed;
+ * So that existing implementations need not be changed;
* So that storage can be recovered when a task terminates. For long-running
applications which dynamically create tasks, this storage can be
significant;
@@ -124,7 +124,7 @@
of T is Null_Task_ID.
@dinst
When the master of an instantiation of Ada.Task_Attributes is finalized,
-the associated attribute for all tasks is finalized.
+the corresponding attribute of each task is finalized.
!corrigendum C.7.2(17)
Questions? Ask the ACAA Technical Agent