Version 1.3 of ais/ai-00421.txt

Unformatted version of ais/ai-00421.txt version 1.3
Other versions for file ais/ai-00421.txt

!standard H.06(01)          05-04-18 AI95-00421/03
!class amendment 05-03-28
!status work item
!status received
!priority High
!difficulty Easy
!subject Sequential activation and attachment
!summary
The mechanism of activation and attachment of handlers described in AI-265 is clarified.
!problem
The second and third paragraphs of the dynamic semantics of H.6 described in AI-265 are unclear.
!proposal
(See summary.)
!wording
Replace the second and third paragraphs of the dynamic semantics section of H.6 (as defined by AI-265) with
If the partition elaboration policy is Sequential, then task activation and interrupt attachment are performed in the following sequence of steps:
* The activation of all library level tasks and the attachment of interrupt handlers are deferred until all library units are elaborated.
* The interrupt handlers are then attached by the environment task.
* The environment task is then suspended while the library tasks are activated.
* The environment task then executes the main subprogram (if any) concurrently with these executing tasks.
If any deferred task activation fails, Tasking_Error is raised in the environment task at the beginning of the sequence of statements of the body of the environment task prior to calling the main subprogram. If several dynamic interrupt handler attachments for the same interrrupt are deferred then the most recent call of Attach_Handler or Exchange_Handler determines which handler is attached.
Add a new Note:
If any task activation fails, the environment task is unable to handle the Tasking_Error exception and completes immediately. By contrast, if the partition elaboration policy is Concurrent, then this exception could be handled within a library unit.
!discussion
The essence of AI-265 was OK, just a bit vague. It is now clear that the sequential order is: library item elaboration, handler attachments, library task activations, call of main subprogram.
!example
None (there isn't one in AI-265, either).
--!corrigendum
!ACATS test
The ACATS test for AI-265 should cover this change, too.
!appendix

*************************************************************

Questions? Ask the ACAA Technical Agent