So in digging by this problem, I have made simple patch to druntime. I have added in druntime/src/core/thread.d to

final Thread start() nothrow

of class Thread

        import core.stdc.stdio;
        printf("start Thread\n");

And to

~this() nothrow @nogc

        import core.stdc.stdio;
        printf("detach Thread\n");

I recompiled phobos to apply changes to druntime and I see that "start Thread" there is, but "detach Thread" printed only at the end of process even if I do GC.collect().

So dtor of class Thread doesn't call on GC. Why?

Reply via email to