mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-16 16:34:42 +00:00
[BUG] fix buggy timeout computation in wake_expired_tasks
Wake_expired_tasks is supposed to return a date, not an interval. It was causing busy loops in pollers.
This commit is contained in:
parent
bdefc513a0
commit
fbfc053e34
@ -96,7 +96,7 @@ void wake_expired_tasks(struct timeval *next)
|
||||
if (likely(timer_wq.data != NULL)) {
|
||||
task = LIST_ELEM(timer_wq.data, struct task *, qlist);
|
||||
if (likely(tv_isgt(&task->expire, &now))) {
|
||||
tv_remain(&now, &task->expire, next);
|
||||
*next = task->expire;
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -108,7 +108,7 @@ void wake_expired_tasks(struct timeval *next)
|
||||
task = LIST_ELEM(data, struct task *, qlist);
|
||||
|
||||
if (tv_isgt(&task->expire, &now)) {
|
||||
tv_remain(&now, &task->expire, next);
|
||||
*next = task->expire;
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user