BUG/MEDIUM: sc_strm/applet: Wake applet after a successfull synchronous send
authorChristopher Faulet <cfaulet@haproxy.com>
Mon, 16 Sep 2024 17:12:02 +0000 (19:12 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 17 Sep 2024 07:29:16 +0000 (09:29 +0200)
commit3b75ca846ceb371db10eed5ec2c5bd02273ffa64
treee3ef62691186321a8282f83b1deace7788d44cdb
parent228f104668d18d81bf513a6063a7a100cf62bce9
BUG/MEDIUM: sc_strm/applet: Wake applet after a successfull synchronous send

On a synchronous send from the stream to an applet, if some data were sent,
we must take care to wake the applet up. It is important because if
everything was sent at this stage, there is no other chance to wake the
applet up, mainly because SE_FL_WAIT_DATA flag is set on the applet's sedesc
in sc_update_tx() at the end of process_stream(). This flag prevent any
wakeup of the applet for a send event.

It is not necessary for a mux because the mux stream is called when a
syncrhonous send from the stream is performed. So it is reponsible to wake
the mux connection if necessary.

This patch must be backport to 3.0.

(cherry picked from commit 5fc12b0afd97ac68ef77335b9b5b9a0288f439f5)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
include/haproxy/sc_strm.h