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<[email protected]>   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

Reply via email to