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.");
}

Reply via email to