mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 13:51:26 +02:00
[MINOR] allow null timeouts for past events in select
This commit is contained in:
parent
79b8a62ff6
commit
d9b744104e
@ -90,12 +90,14 @@ REGPRM2 static void _do_poll(struct poller *p, struct timeval *exp)
|
|||||||
/* allow select to return immediately when needed */
|
/* allow select to return immediately when needed */
|
||||||
delta.tv_sec = delta.tv_usec = 0;
|
delta.tv_sec = delta.tv_usec = 0;
|
||||||
if (tv_isset(exp)) {
|
if (tv_isset(exp)) {
|
||||||
tv_remain(&now, exp, &delta);
|
if (tv_islt(&now, exp)) {
|
||||||
/* To avoid eventual select loops due to timer precision */
|
tv_remain(&now, exp, &delta);
|
||||||
delta.tv_usec += SCHEDULER_RESOLUTION * 1000;
|
/* To avoid eventual select loops due to timer precision */
|
||||||
if (delta.tv_usec >= 1000000) {
|
delta.tv_usec += SCHEDULER_RESOLUTION * 1000;
|
||||||
delta.tv_usec -= 1000000;
|
if (delta.tv_usec >= 1000000) {
|
||||||
delta.tv_sec ++;
|
delta.tv_usec -= 1000000;
|
||||||
|
delta.tv_sec ++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user