Seems like TaskMutex/TaskCondition is broken.
import vibe.d;
shared static this() {
bool flag = false;
TaskCondition cv = new TaskCondition(new TaskMutex);
runTask({
synchronized(cv.mutex) {
while(!flag) cv.wait();
}
logInfo("notified");
});
runTask({
synchronized(cv.mutex) {
flag = true;
cv.notify();
}
logInfo("notify");
});
}
outputs
notify