Version 1.1 of ais/ai-00342.txt

Unformatted version of ais/ai-00342.txt version 1.1
Other versions for file ais/ai-00342.txt

!standard D.12 (04)          03-08-04 AI95-00342/00
!class binding interpretation 03-08-04
!status received 03-01-22
!qualifier Omission
!priority Low
!difficulty Easy
!subject Requirement for freeing task storage on unchecked deallocation
!summary
!question
!recommendation
(See wording.)
!wording
!discussion
!corrigendum D.12(04)
!ACATS test
!appendix

!topic Requirement for freeing task storage on unchecked deallocation
!reference RM95-D.12(4)
!from Gary Dismukes 03-01-22
!discussion

This is a question on the Annex D requirement which relates to freeing
the storage resources associated with tasks on an unchecked deallocation.

D.12(4) says:

D.12 Other Optimizations and Determinism Rules
...
                         Implementation Requirements
...

4   Unchecked_Deallocation shall be supported for terminated tasks that are
designated by access types, and shall have the effect of releasing all the
storage associated with the task.  This includes any run-time system or heap
storage that has been implicitly allocated for the task by the
implementation.


This rule only seems to impose a requirement to release storage for
task objects that are directly designated by an access-to-task type.
Is this intended, or was it intended that subcomponent tasks of an
object should also have their storage resources freed?  If the latter
was meant, then it seems that a wording improvement is needed, since
the wording is most naturally interpreted as only applying to directly
designated tasks.  If the former was indeed intended, it would be
useful to understand the rationale for the limitation.

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

From: Ted Baker
Sent: Thursday, January 23, 2003  6:35 AM

I believe the intent of "designated by access types" was to
include both designation as access-to-task and designation as
access-to-X where the type X contains a task as component
(including both arrays and record of tasks).  The whole point was
that it should be possible to program carefully and portably using
dynamically created tasks without long-term storage leakages.

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

Questions? Ask the ACAA Technical Agent