forked from vitalif/vitastor
Fix timerfd_manager: remove timer, then call callback
parent
9d22559bcf
commit
7cf71a8031
|
@ -150,7 +150,6 @@ void timerfd_manager_t::set_wait()
|
|||
read(timerfd, &n, 8);
|
||||
if (nearest >= 0)
|
||||
{
|
||||
timers[nearest].callback(timers[nearest].id);
|
||||
if (!timers[nearest].repeat)
|
||||
{
|
||||
timers.erase(timers.begin()+nearest, timers.begin()+nearest+1);
|
||||
|
@ -159,6 +158,7 @@ void timerfd_manager_t::set_wait()
|
|||
{
|
||||
inc_timer(timers[nearest]);
|
||||
}
|
||||
timers[nearest].callback(timers[nearest].id);
|
||||
nearest = -1;
|
||||
}
|
||||
wait_state = 0;
|
||||
|
|
Loading…
Reference in New Issue