// Bugzilla 11309 - std.concurrency: OwnerTerminated message doesn't work | |
// We need to assure that the thread dtors of parent threads run before the thread dtors of the child threads. | |
import core.thread, core.sync.semaphore; | |
import core.stdc.stdio; | |
__gshared Semaphore sem; | |
static ~this() | |
{ | |
if (sem !is null) sem.notify(); | |
} | |
void main() | |
{ | |
sem = new Semaphore; | |
auto thr = new Thread({assert(sem.wait(1.seconds));}); | |
thr.start(); | |
} |