]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: mux-h1: Add a task to handle connection timeouts
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 3 Jan 2019 15:27:28 +0000 (16:27 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 3 Jan 2019 17:45:00 +0000 (18:45 +0100)
commitb8093cfc0324651473ac65aadf199b91d61128f4
treef829c17c7946e9618bbeb227dc82e8fc6441c24a
parentd01ce4003d31c14d1eaed50f6c0bd9a83c6296a2
BUG/MEDIUM: mux-h1: Add a task to handle connection timeouts

The mux h1 mainly depends on the stream to handle errors and timeouts. But,
there is one unhandled case. If a timeout occurred when some outgoing data are
blocked in the output buffer, the stream is detached and the mux waits infinitly
the data are gone before closing the connection. To fix the bug, a task has been
added on the mux to handle connection timeouts. For now, a expiration date is
set only when some outgoing data are blocked. And if a stream is still attached
when the mux's task timed out, an error flag is set on the mux but the
connection is not closed immediatly. We assume the stream will hit the same
timeout just after.

This patch must be backported to 1.9.
src/mux_h1.c