BUG/MEDIUM: mux-pt: Release the tasklet during an HTTP upgrade
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 3 Nov 2020 08:11:43 +0000 (09:11 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 3 Nov 2020 09:50:00 +0000 (10:50 +0100)
commit5a7ca29061dbc5736b53d45b9561e71807a0d05a
treeb0c4bd8cad79c4955769cb8131a443fe55abbaf2
parent75bef00538eebc00c22309c7f9391c0f6d502ac0
BUG/MEDIUM: mux-pt: Release the tasklet during an HTTP upgrade

When a TCP connection is upgraded to HTTP, the passthrough multiplexer owning
the client connection is detroyed and replaced by an HTTP multiplexer. When it
happens, the connection context is changed (it is in fact the mux itself). Thus,
when the mux-pt is destroyed, the connection is not released. But, only the
connection must be kept. Everything else concerning the mux must be
released. Especially, the tasklet used for I/O subscriptions. In this part,
there was a bug and the tasklet was never released.

This patch should fix the issue #935. It must be backported as far as 2.0.
src/mux_pt.c