From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,ea9fbf0f08e5af8a X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news1.google.com!newsfeed2.dallas1.level3.net!news.level3.com!bloom-beacon.mit.edu!newsswitch.lcs.mit.edu!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: Delayed deallocation of non-terminated task in Gnat? Date: Thu, 01 Sep 2011 07:58:07 -0400 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: <31ba531d-fa8e-40f3-97bc-c9112b329fe2@14g2000prv.googlegroups.com> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: pcls6.std.com 1314878287 11049 192.74.137.71 (1 Sep 2011 11:58:07 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Thu, 1 Sep 2011 11:58:07 +0000 (UTC) User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.3 (irix) Cancel-Lock: sha1:b+H/U+Q6lV1B7/WPdyRTf/l6SFE= Xref: g2news1.google.com comp.lang.ada:20820 Date: 2011-09-01T07:58:07-04:00 List-Id: Adam Beneschan writes: > On Aug 31, 11:21�am, Robert A Duff > wrote: >> Adam Beneschan writes: >> > Actually, I just found this in the Ada 83 manual (13.10.1(8)): >> >> > "If X designates a task object, the call FREE(X) [where FREE is an >> > instance of Unchecked_Deallocation] has no effect on the task >> > desginated by the value of the task object. �The same holds for any >> > subcomponent of the object designated by X, if this subcomponent is a >> > task object." >> >> > This language got dropped in Ada 95, but I think it was intended that >> > these still be the semantics, for a task without discriminants (Ada 83 >> > did not allow task discriminants). �I'm not sure why the language was >> > omitted; ... >> >> It might have to do with the fact that task values don't formally >> "designate" anymore. > > But access objects do, and in the RM83 paragraph, X is an access > object. Right, but there are two "designate" in the Ada 83 wording. I was referring to the second one. In Ada 83, a task object contains a task value, which is a pointer that designates a task. So if you have an access-to-task object, it's value designates a task object whose value designates the task. >...By the way, the only way one can know that > the RM doesn't say anything happens to the task is to read and fully > understand the entire RM, ... Yeah, that's a problem. - Bob