!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. ****************************************************************