On Fri, 28 Feb 2014 20:41:50 GMT, Øivind Loe wrote:

This code worked perfectly before:

    m_connectTimer = setTimer(dur!"msecs"(1), { tryConnect(); }, false);

But on vibed master, 'tryConnect' is never called. Vibed log shows this (I also create a second timer somewhere else.. That doesn't trigger either):


rearming timer 1 in 0.001 s
Schedule timer 1
Rescheduled timer event for 0.000967 seconds
first timer 1 in 0.0009662 s
rearming timer 2 in 1 s
Schedule timer 2
first timer 2 in 0.999981 s
Processing due timers
first timeout: 0.0008818
Timer 1 fired (false/true)
Creating new fiber...
Event loop not running at task start - yielding.
Rescheduled timer event for 0.999957 seconds
Processing due timers
no timers scheduled
Processing due timers
Processing due timers
first timeout: 0.998706
no timers scheduled
Rescheduled timer event for 0.998706 seconds
create driver
...

Note that I am driving the event loop manually by calling 'processEvents' regularly. It always returns true in the failing case.

Which revision of vibe.d exactly are you on and is it the normal libevent based driver or the win32 one?

This smells very much like #458. But that is supposed to be fixed already.