mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-24 07:37:53 -04:00
BUG/MEDIUM: h2: don't try (and fail) to send non-existing data in the mux
The call to xprt->snd_buf() was not conditionned on the presence of data in the buffer, resulting in snd_buf() returning 0 and never disabling the polling. It was revealed by the previous bug on error processing but must properly be handled.
This commit is contained in:
parent
3eabe9b174
commit
319994a2e9
1 changed files with 1 additions and 1 deletions
|
|
@ -1987,7 +1987,7 @@ static void h2_send(struct connection *conn)
|
|||
if (h2c->flags & (H2_CF_MUX_MFULL | H2_CF_DEM_MBUSY | H2_CF_DEM_MROOM))
|
||||
flags |= CO_SFL_MSG_MORE;
|
||||
|
||||
if (conn->xprt->snd_buf(conn, h2c->mbuf, flags) <= 0)
|
||||
if (h2c->mbuf->o && conn->xprt->snd_buf(conn, h2c->mbuf, flags) <= 0)
|
||||
break;
|
||||
|
||||
/* wrote at least one byte, the buffer is not full anymore */
|
||||
|
|
|
|||
Loading…
Reference in a new issue