From: sjw <simon.j.wright@mac.com>
Subject: Re: Private or public task ?
Date: Fri, 5 Feb 2010 14:57:28 -0800 (PST)
Date: 2010-02-05T14:57:28-08:00 [thread overview]
Message-ID: <1c3d207d-a815-48cd-b3e5-632a78992b91@r24g2000yqd.googlegroups.com> (raw)
In-Reply-To: 494a3592-421b-4a08-9505-f4c9b2cdce43@a32g2000yqm.googlegroups.com
On Feb 5, 10:09 pm, Hibou57 (Yannick Duchêne)
<yannick_duch...@yahoo.fr> wrote:
> On 5 fév, 22:40, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
> > If you want garbage collection because of pointers involved then just do
> > it. Don't break the task interface, make a handle type pointing to the task
> > object. When the last handle vanishes, deallocate the task. That is.
>
> “ Deallocate the task ” ? If I want to deallocate, I have to request
> it to completes, and for the latter, I need it to have a corresponding
> request entry... which would need to be public (as private entry
> accessible from implementation is not possible).
You could just abort the task before freeing it.
With GNAT (maybe just with older versions, maybe not on all
platforms), if you free a task before it has terminated it will
silently not do the deallocation. The trick is to loop until
'Terminated is True.
I had to create a scavenger task; tasks that had been aborted were
placed on a queue for the scavenger task to free when the task had
terminated. Fairly gruesome generics involved.
next prev parent reply other threads:[~2010-02-05 22:57 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-05 20:54 Private or public task ? Hibou57 (Yannick Duchêne)
2010-02-05 20:56 ` Hibou57 (Yannick Duchêne)
2010-02-05 21:38 ` Jeffrey R. Carter
2010-02-05 21:53 ` Hibou57 (Yannick Duchêne)
2010-02-08 9:55 ` Alex R. Mosteo
2010-02-08 10:02 ` Jean-Pierre Rosen
2010-02-08 17:28 ` Maciej Sobczak
2010-02-09 8:43 ` Dmitry A. Kazakov
2010-02-09 12:07 ` Hibou57 (Yannick Duchêne)
2010-02-09 14:26 ` Jean-Pierre Rosen
2010-02-09 18:17 ` Hibou57 (Yannick Duchêne)
2010-02-10 8:17 ` Maciej Sobczak
2010-02-10 8:29 ` Hibou57 (Yannick Duchêne)
2010-02-10 8:40 ` Martin
2010-02-10 11:44 ` Jean-Pierre Rosen
2010-02-10 12:51 ` Martin
2010-02-10 16:17 ` Robert A Duff
2010-02-10 11:38 ` Jean-Pierre Rosen
2010-02-13 11:09 ` Dmitry A. Kazakov
2010-02-09 15:20 ` Robert A Duff
2010-02-09 18:26 ` Hibou57 (Yannick Duchêne)
2010-02-09 14:44 ` Alex R. Mosteo
2010-02-09 23:38 ` mkasun
2010-02-09 23:51 ` Robert A Duff
2010-02-10 0:01 ` Jeffrey R. Carter
2010-02-05 21:40 ` Dmitry A. Kazakov
2010-02-05 22:09 ` Hibou57 (Yannick Duchêne)
2010-02-05 22:57 ` sjw [this message]
2010-02-06 2:20 ` Hibou57 (Yannick Duchêne)
2010-02-06 2:23 ` Hibou57 (Yannick Duchêne)
2010-02-06 3:29 ` Jeffrey R. Carter
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox