rt.tlsgc

License:
Boost License 1.0.
Authors:
Martin Nowak
struct Data;

Per thread record to store thread associated data for garbage collection.

nothrow @nogc void* init();

Initialization hook, called FROM each thread. No assumptions about module initialization state should be made.

nothrow @nogc void destroy(void* data);

Finalization hook, called FOR each thread. No assumptions about module initialization state should be made.

nothrow void scan(void* data, scope ScanDg dg);

GC scan hook, called FOR each thread. Can be used to scan additional thread local memory.

nothrow void processGCMarks(void* data, scope IsMarkedDg dg);

GC sweep hook, called FOR each thread. Can be used to free additional thread local memory or associated data structures. Note that only memory allocated from the GC can have marks.

© 1999–2021 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/rt_tlsgc.html