diff --git a/tests/issue-104-unreferenced-periodic-timer.d b/tests/issue-104-unreferenced-periodic-timer.d new file mode 100644 index 0000000..f14b839 --- /dev/null +++ b/tests/issue-104-unreferenced-periodic-timer.d @@ -0,0 +1,23 @@ +/+ dub.sdl: + name "test" + dependency "vibe-core" path=".." ++/ +module test; + +import vibe.core.core; + +import core.memory; +import core.time; + + +int main() +{ + setTimer(10.seconds, { assert(false, "Event loop didn't exit in time."); }); + + // make sure that periodic timers for which no explicit reference is stored + // are still getting invoked periodically + size_t i = 0; + setTimer(50.msecs, { if (i++ == 3) exitEventLoop(); }, true); + + return runEventLoop(); +}