Fix DeadlineTimer, callback while holding lock

This commit is contained in:
Vinnie Falco
2013-09-17 14:13:06 -07:00
parent 207ffdec8e
commit 2dc25cec72

View File

@@ -119,8 +119,10 @@ public:
timer->m_isActive = false;
}
// Listener will be called later and we will
// go through the loop again without waiting.
timer->m_listener->onDeadlineTimer (*timer);
// re-loop
seconds = -1;
}
else
{
@@ -138,11 +140,7 @@ public:
// Note that we have released the lock here.
if (timer != nullptr)
{
timer->m_listener->onDeadlineTimer (*timer);
}
else if (seconds > 0)
if (seconds > 0)
{
// Wait until interrupt or next timer.
//