Fix compilation on older DMD frontends.
This commit is contained in:
parent
78fef30310
commit
f5665aa7c1
|
@ -1039,7 +1039,7 @@ struct Timer {
|
||||||
|
|
||||||
if (callback) {
|
if (callback) {
|
||||||
m_driver.timers.userData!Callback(m_id) = callback;
|
m_driver.timers.userData!Callback(m_id) = callback;
|
||||||
m_driver.timers.wait(m_id, timerCallbackHandler);
|
m_driver.timers.wait(m_id, &TimerCallbackHandler.instance.handle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1094,15 +1094,19 @@ struct Timer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private immutable TimerCallback2 timerCallbackHandler = (TimerID timer, bool fired) {
|
struct TimerCallbackHandler {
|
||||||
if (fired) {
|
static TimerCallbackHandler instance;
|
||||||
auto cb = eventDriver.timers.userData!(Timer.Callback)(timer);
|
void handle(TimerID timer, bool fired)
|
||||||
cb();
|
@safe nothrow {
|
||||||
}
|
if (fired) {
|
||||||
|
auto cb = eventDriver.timers.userData!(Timer.Callback)(timer);
|
||||||
|
cb();
|
||||||
|
}
|
||||||
|
|
||||||
if (!eventDriver.timers.isUnique(timer))
|
if (!eventDriver.timers.isUnique(timer))
|
||||||
eventDriver.timers.wait(timer, timerCallbackHandler);
|
eventDriver.timers.wait(timer, &handle);
|
||||||
};
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Returns an object that ensures that no task switches happen during its life time.
|
/** Returns an object that ensures that no task switches happen during its life time.
|
||||||
|
|
Loading…
Reference in a new issue