Version 1.5 of ais/ai-00421.txt

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

!standard H.06(01)          05-05-05 AI95-00421/04
!class amendment 05-03-28
!status Amendment 200Y 05-05-05
!status WG9 Approved 06-06-09
!status ARG Approved 10-0-0 05-04-18
!status work item 05-03-28
!status received 05-03-28
!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 attached by the environment task.
* The environment task is suspended while the library-level tasks are activated.
* The environment task executes the main subprogram (if any) concurrently with these executing tasks.
If several dynamic interrupt handler attachments for the same interrupt are deferred, then the most recent call of Attach_Handler or Exchange_Handler determines which handler is attached.
If any deferred task activation fails, Tasking_Error is raised at the beginning of the sequence of statements of the body of the environment task prior to calling the main subprogram.
Add a new Note:
If any deferred 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-level task activations, call of main subprogram.
!example
None (there isn't one in AI-265, either).
!corrigendum H.6(1)
Insert new clause:
This is dummy content to force a conflict; the real changes are in the conflict text.
!ACATS test
The ACATS test for AI-265 should cover this change, too.
!appendix

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

Questions? Ask the ACAA Technical Agent