diff --git a/source/eventcore/drivers/timer.d b/source/eventcore/drivers/timer.d index dd63479..a2b83ae 100644 --- a/source/eventcore/drivers/timer.d +++ b/source/eventcore/drivers/timer.d @@ -63,7 +63,10 @@ final class LoopTimeoutTimerDriver : EventDriverTimers { foreach (tm; m_firedTimers) { auto cb = tm.callback; - tm.callback = null; + if (!tm.pending) { + tm.callback = null; + } + if (cb) cb(tm.id); }