Revert "BUG/MINOR: stream-int: Don't block reads in si_update_rx() if chn may receive"
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 7 Sep 2021 12:31:02 +0000 (14:31 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 7 Sep 2021 13:14:38 +0000 (15:14 +0200)
commitc5ee2ceca9e06768f1e1c320a73dc1fb05525362
tree1333a8ea9f8c1411fe16081f9374f0b991211903
parentac19a3112534668258fb6d1b5e77cb9acc9e348f
Revert "BUG/MINOR: stream-int: Don't block reads in si_update_rx() if chn may receive"

This reverts commit e0dec4b7b258101f6d5faa15234103a45c16f0f8.

At first glance, channel_is_empty() was used on purpose in si_update_rx(),
because of the HTX ("b3e0de46c" MEDIUM: stream-int: Rely only on
SI_FL_WAIT_ROOM to stop data receipt). It is not pretty clear for now why
channel_may_recv() sould not be used here but this change introduce a
possible infinite loop with the stats applet. So, it is safer to revert the
patch, waiting for a better understanding of the probelm.

This means the abortonclose option will be broken again on the 2.3 and lower
versions.

This patch should fix the issue #1360. It must be backported as far as 2.0.

(cherry picked from commit b7308f00cb03e5accd2f6092bf09fc2ac1360ff9)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 62fc11cb2da250f6c70ea3a1b3af767d8d0a9b2c)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
src/stream_interface.c