mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-29 14:50:59 +01:00
BUG/MINOR: stconn: Report read activity on non-indep streams for partial sends
Partial sends is an activity, not a full blocking. Thus a read activity must be reported for non-independent stream. It is especially important for very congested stream where full sends are uncommon. This patch must be backported to 2.8.
This commit is contained in:
parent
7676a2cdf6
commit
5ed101e09c
@ -183,11 +183,17 @@ static forceinline void sc_ep_report_read_activity(struct stconn *sc)
|
|||||||
|
|
||||||
/* Report a send blocked. This function sets <fsb> to now_ms if it was not
|
/* Report a send blocked. This function sets <fsb> to now_ms if it was not
|
||||||
* already set or if something was sent (to renew <fsb>).
|
* already set or if something was sent (to renew <fsb>).
|
||||||
|
*
|
||||||
|
* if somehting was sent (<did_send> != 0), a read activity is also reported for
|
||||||
|
* non-independent stream.
|
||||||
*/
|
*/
|
||||||
static forceinline void sc_ep_report_blocked_send(struct stconn *sc, int did_send)
|
static forceinline void sc_ep_report_blocked_send(struct stconn *sc, int did_send)
|
||||||
{
|
{
|
||||||
if (did_send || !tick_isset(sc->sedesc->fsb))
|
if (did_send || !tick_isset(sc->sedesc->fsb)) {
|
||||||
sc->sedesc->fsb = now_ms;
|
sc->sedesc->fsb = now_ms;
|
||||||
|
if (did_send && !(sc->flags & SC_FL_INDEP_STR))
|
||||||
|
sc_ep_report_read_activity(sc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Report a send activity by setting <fsb> to TICK_ETERNITY.
|
/* Report a send activity by setting <fsb> to TICK_ETERNITY.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user