BUG/MINOR: stream: take care of synchronous errors when trying to send

We currently detect a number of situations where we have to immediately
deal with a state change, but we failed to consider the case of the
synchronous error reported on the stream-interface. We definitely do not
want to have to wait for a timeout to handle this one, especially at the
beginning of the connection when it can lead to an immediate retry.

This should be backported to 1.9.
This commit is contained in:
Willy Tarreau 2019-01-23 15:18:19 +01:00
parent cb923d5001
commit 64f6945fec

View File

@ -2503,6 +2503,7 @@ redo:
if (si_f->state == SI_ST_DIS || si_f->state != si_f->prev_state ||
si_b->state == SI_ST_DIS || si_b->state != si_b->prev_state ||
((si_f->flags | si_b->flags) & SI_FL_ERR) ||
(((req->flags ^ rqf_last) | (res->flags ^ rpf_last)) & CF_MASK_ANALYSER))
goto redo;