I wrote simple example to learn how the work Conditions. But program closed with signal, what's wrong?
import std.stdio; import core.thread; import core.sync.condition; import core.sync.mutex; Condition cond; Mutex mutex; void threadFunction() { writeln("This is running in a separate thread."); Duration d = dur!"msecs"(100); writeln(d); cond.wait(d); } void main() { mutex = new Mutex(); cond = new Condition(mutex); auto t = new Thread(&threadFunction); t.start(); t.join(); writeln("Main thread finished."); }