BUG/MEDIUM: streams: Don't switch the SI to SI_ST_DIS if we have data to send.

In sess_established(), don't immediately switch the backend stream_interface
to SI_ST_DIS if we only got a SHUTR. We may still have something to send,
ie if the request is a POST, and we should be switched to SI_ST8DIS later
when the shutw will happen.

This should be backported to 2.0 and 1.9.
This commit is contained in:
Olivier Houchard 2019-07-26 14:54:34 +02:00 committed by Olivier Houchard
parent 366ad86af7
commit 7859526fd6

View File

@ -944,8 +944,9 @@ static void sess_establish(struct stream *s)
si_chk_rcv(si);
}
req->wex = TICK_ETERNITY;
/* If we managed to get the whole response, switch to SI_ST_DIS now. */
if (rep->flags & CF_SHUTR)
/* If we managed to get the whole response, and we don't have anything
* left to send, or can't, switch to SI_ST_DIS now. */
if (rep->flags & (CF_SHUTR | CF_SHUTW))
si->state = SI_ST_DIS;
}