OPTIM: stream-int: try to send pending spliced data

This is the equivalent of eb9fd51 ("OPTIM: stream_sock: reduce the amount
of in-flight spliced data") whose purpose is to try to immediately send
spliced data if available.
This commit is contained in:
Willy Tarreau 2014-12-09 19:56:47 +01:00
parent 9b20c55562
commit 56efc4896b

View File

@ -180,7 +180,8 @@ static void stream_int_update_embedded(struct stream_interface *si)
si_chk_rcv(si->ob->prod); si_chk_rcv(si->ob->prod);
if (((si->ib->flags & CF_READ_PARTIAL) && !channel_is_empty(si->ib)) && if (((si->ib->flags & CF_READ_PARTIAL) && !channel_is_empty(si->ib)) &&
(si->ib->cons->flags & SI_FL_WAIT_DATA)) { (si->ib->pipe /* always try to send spliced data */ ||
(si->ib->buf->i == 0 && (si->ib->cons->flags & SI_FL_WAIT_DATA)))) {
si_chk_snd(si->ib->cons); si_chk_snd(si->ib->cons);
/* check if the consumer has freed some space */ /* check if the consumer has freed some space */
if (!channel_full(si->ib) && !si->ib->pipe) if (!channel_full(si->ib) && !si->ib->pipe)