CVS difference for ai05s/ai05-0202-1.txt

Differences between 1.4 and version 1.5
Log of other versions for file ai05s/ai05-0202-1.txt

--- ai05s/ai05-0202-1.txt	2011/02/16 06:15:23	1.4
+++ ai05s/ai05-0202-1.txt	2011/03/11 01:07:20	1.5
@@ -1,4 +1,4 @@
-!standard  C.7.3(8/2)                               11-02-12    AI05-0202-1/02
+!standard  C.7.3(8/2)                               11-02-19    AI05-0202-1/03
 !class binding interpretation 10-02-12
 !status work item 10-02-12
 !status received 09-09-24
@@ -17,7 +17,7 @@
 Suppose a task has a termination handler set up by either Set_Specific_Handler
 or Set_Dependents_Fallback_Handler. Suppose the task executes the last
 statement of the task body normally, but an exception occurs during finalization
-(as part of the "actions specfied in 7.6 for finalization of a master"). For
+(as part of the "actions specified in 7.6 for finalization of a master"). For
 instance, the task may have a local variable with a controlled part, and a
 user-defined Finalize routine propagates an exception.
 
@@ -47,17 +47,18 @@
   protected procedure is called a handler. In all cases T identifies the
   task that is terminating. If the task terminates due to completing the
   last statement of its body, or as a result of waiting on a terminate
-  alternative, {and the finalization of the task body master completes
-  normally,} then Cause is set to Normal and X is set to
-  Null_Occurrence. If the task terminates because it is being aborted,
-  then Cause is set to Abnormal and X is set to Null_Occurrence. If the
-  task terminates because of an exception raised by the execution of its
-  task_body, then Cause is set to Unhandled_Exception and X is set to
-  the associated exception occurrence. {If the task completes normally
-  or due to a terminate alternative, but finalization of the task
-  propagates an exception, then Cause is set to Unhandled_Exception and
-  X is an exception occurrence that identifies the Program_Error
-  exception.}
+  alternative, {and the finalization of the task completes normally,}
+  then Cause is set to Normal and X is set to Null_Occurrence. If the
+  task terminates because it is being aborted, then Cause is set to
+  Abnormal [and] {;} X is set to Null_Occurrence {if the finalization of
+  the task completes normally}. If the task terminates because of an
+  exception raised by the execution of its task_body, then Cause is set
+  to Unhandled_Exception [and] {;} X is set to the associated exception
+  occurrence {if the finalization of the task completes normally}.
+  {Independent of how the task completes, if finalization of the task
+  propagates an exception, then Cause is either Unhandled_Exception or
+  Abnormal, and X is an exception occurrence that identifies the
+  Program_Error exception.}
 
 !discussion
 
@@ -69,7 +70,7 @@
 
 To avoid reporting Normal in the case of failed finalization, we specify that
 failed finalization results in Unhandled_Exception and an occurrence that
-identifies Program_Error. We don't specify anthing else about the occurrence,
+identifies Program_Error. We don't specify anything else about the occurrence,
 as there is no desire to overspecify the implementation and perhaps thereby
 introduce undesirable distributed overhead on behalf of this very unusual
 circumstance.

Questions? Ask the ACAA Technical Agent