]> git.ipfire.org Git - thirdparty/haproxy.git/commit
NUG/MEDIUM: stconn: Always update stream's expiration date after I/O
authorChristopher Faulet <cfaulet@haproxy.com>
Wed, 6 Sep 2023 07:09:10 +0000 (09:09 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 6 Sep 2023 07:29:27 +0000 (09:29 +0200)
commit8073094bf1b0fb7e1ed8c6a0276e720b31d04a82
tree7ec83553ed8b9b45443f0db9d2dadf76ae112797
parentb9c87f808288c833d14eefacb4894bdae32fbdc8
NUG/MEDIUM: stconn: Always update stream's expiration date after I/O

It is a revert of following patches:

  * d7111e7ac ("MEDIUM: stconn: Don't requeue the stream's task after I/O")
  * 3479d99d5 ("BUG/MEDIUM: stconn: Update stream expiration date on blocked sends")

Because the first one is reverted, the second one is useless and can be reverted
too.

The issue here is that I/O may be performed without stream wakeup. So if no
expiration date was set on the last call to process_stream(), the stream is
never rescheduled and no timeout can be detected. This especially happens on
TCP streams because fast-forward is enabled very early.

Instead of tracking all places where the stream's expiration data must be
updated, it is now centralized in sc_notify(), as it was performed before
the timeout refactoring.

This patch must be backported to 2.8.
src/applet.c
src/stconn.c