CVS difference for ais/ai-00226.txt

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

--- ais/ai-00226.txt	2000/12/07 04:35:35	1.3
+++ ais/ai-00226.txt	2004/04/06 22:13:06	1.4
@@ -1,5 +1,5 @@
-!standard E.1      (10)                               99-12-09  AI95-00226/01
-!class ramification 99-12-09
+!standard E.1      (10)                               04-04-01  AI95-00226/02
+!class binding interpretation 04-04-01
 !status work item 99-12-09
 !status received 99-12-09
 !priority Low
@@ -10,8 +10,8 @@
 !summary
 
 If there is a cyclic elaboration dependences between the active partitions of a
-single distributed program, any partitions involved must either deadlock or raise
-Program_Error.
+single distributed program, any partition involved must either deadlock or raise
+Communication_Error or Program_Error.
 
 !question
 
@@ -25,16 +25,34 @@
 This seems to allow some partitions to do anything, so long as Program_Error
 is raised in at least one other partition. Is this the intent? (No.)
 
-!response
+!recommendation
 
+See wording.
+
+!wording
+
+Replace E.1(10) by:
+
+It is a bounded error for there to be cyclic elaboration dependences between
+the active partitions of a single distributed program. The possible effects, in
+each of the partitions involved, are deadlock during elaboration, or the
+raising of Communication_Error or Program_Error.
+
+!discussion
+
 An important property of Ada is that, if elaboration checks aren't suppressed,
 an Ada partition cannot execute a subprogram with an unelaborated body.
 
 Paragraph E.1(10) is intended to give an additional permission for a deadlock
 to occur in a distributed Ada program. It is not intended to override the
-elaboration rules given in the rest of the ARM, so it is still true that a
+elaboration rules given in the rest of the Standard, so it is still true that a
 partition with an elaboration failure must either raise Program_Error or
 deadlock. It would be unreasonable to interpret it in any other way.
+
+However, we must recognize that, in such circumstances, some partitions might
+just "go away" silently. Communication_Error would then be raised when trying
+to communicate with these partitions. Therefore, we are adding
+Communication_Error to the list of possible outcomes.
 
 !ACATS test
 

Questions? Ask the ACAA Technical Agent