* data from the other side when it's known that this one is
* still congested.
*/
- if (sent && br_single(h2c->mbuf))
+ if (br_single(h2c->mbuf))
h2c->flags &= ~(H2_CF_MUX_MFULL | H2_CF_DEM_MROOM);
}
offer_buffers(NULL, released);
}
+ /* Above we might have prepared a GOAWAY that was sent along with
+ * pending data, make sure to clear the FULL flags.
+ */
+ if (br_single(h2c->mbuf))
+ h2c->flags &= ~(H2_CF_MUX_MFULL | H2_CF_DEM_MROOM);
+
/* in any case this connection must not be considered idle anymore */
if (h2c->conn->flags & CO_FL_LIST_MASK) {
HA_SPIN_LOCK(IDLE_CONNS_LOCK, &idle_conns[tid].idle_conns_lock);