On 8/17/15 3:57 PM, welkam wrote:
// if the GC kicks in here we're f*****
Why?
static nothrow @nogc void removeRange(in void* p);
Removes the memory range starting at p from an internal list of ranges
to be scanned during a collection. <...>
Because presumably the reason why you have added the range is because
it's not GC memory (as in this case). This means that if a GC run kicks
in right then, that range of data will not be scanned, and the GC memory
it may have been pointing at could potentially be freed.
-Steve