GC conservatism -- again
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Thu Dec 30 11:41:16 PST 2010
On 12/30/10 12:38 PM, Sean Kelly wrote:
> Andrei Alexandrescu Wrote:
>
>> On 12/30/10 11:19 AM, Sean Kelly wrote:
>>> Adam Ruppe Wrote:
>>>
>>>> On 12/27/10, Steven Schveighoffer<schveiguy at yahoo.com> wrote:
>>>>> What about tools to make deallocation easier? For example, we have
>>>>> scope(exit) that you could potentially use to ensure a memory block is
>>>>> deallocated on exit from a scope, what about a thread exit?
>>>>
>>>> It seems to me that the simplest thing might simply be a list of delegates stored
>>>> with the thread:
>>>>
>>>> thread.onexit ~= { free(whatever); };
>>>
>>> Already possible via static dtors.
>>
>> Not dynamically...
>
> void*[] toFree;
>
> static ~this() {
> foreach(e; toFree)
> free(e);
> }
>
> What am I missing?
I'm thinking of an API that allows people to dynamically add "to do"
stuff, a la C's atexit(). Yours above is dynamic (because client code
can append to toFree) but is hand-written by the client.
Andrei
More information about the Digitalmars-d
mailing list