mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-12-16 07:01:38 +01:00
MEDIUM: stream: Eventually handle stream timeouts when exiting process_stream()
When we exit from process_stream(), if the task is expired, we try to handle the stream timeouts and we resync the stream-connectors. This avoids a useless immediate wakeup. It is not really an issue, but it is a small improvement in edge cases.
This commit is contained in:
parent
85e568f594
commit
e758b5c703
@ -2539,6 +2539,13 @@ struct task *process_stream(struct task *t, void *context, unsigned int state)
|
||||
|
||||
t->expire = tick_first(t->expire, s->conn_exp);
|
||||
|
||||
if (unlikely(tick_is_expired(t->expire, now_ms))) {
|
||||
/* Some events prevented the timeouts to be handled but nothing evolved.
|
||||
So do it now and resyunc the stconns
|
||||
*/
|
||||
stream_handle_timeouts(s);
|
||||
goto resync_stconns;
|
||||
}
|
||||
|
||||
s->pending_events &= ~(TASK_WOKEN_TIMER | TASK_WOKEN_RES);
|
||||
stream_release_buffers(s);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user