Prevent re-entry into timerfd set_nearest

This commit is contained in:
Vitaliy Filippov
2023-12-22 02:32:40 +03:00
parent 4ece4dfdd0
commit 178bb0e701
2 changed files with 8 additions and 0 deletions
+7
View File
@@ -90,6 +90,12 @@ void timerfd_manager_t::clear_timer(int timer_id)
void timerfd_manager_t::set_nearest()
{
if (onstack > 0)
{
// Prevent re-entry
return;
}
onstack++;
again:
if (!timers.size())
{
@@ -139,6 +145,7 @@ again:
}
wait_state = wait_state | 1;
}
onstack--;
}
void timerfd_manager_t::handle_readable()