mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-31 10:31:46 +00:00
BUG/MEDIUM: streams: Don't remove the SI_FL_ERR flag in si_update_both().
Don't inconditionally remove the SI_FL_ERR code in si_update_both(), which is called at the end of process_stream(). Doing so was a bug that was there since the flag was introduced, because we were always setting si->flags to SI_FL_NONE, however we don't want to lose that one, except if we will retry connecting, so only remove it in sess_update_st_cer(). This should be backported to 1.9.
This commit is contained in:
parent
90caa07935
commit
39cc020af1
@ -822,6 +822,7 @@ static int sess_update_st_cer(struct stream *s)
|
||||
si->state = SI_ST_TAR;
|
||||
si->exp = tick_add(now_ms, MS_TO_TICKS(delay));
|
||||
}
|
||||
si->flags &= ~SI_FL_ERR;
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
@ -830,8 +830,8 @@ void si_update_both(struct stream_interface *si_f, struct stream_interface *si_b
|
||||
req->flags &= ~(CF_READ_NULL|CF_READ_PARTIAL|CF_READ_ATTACHED|CF_WRITE_NULL|CF_WRITE_PARTIAL);
|
||||
res->flags &= ~(CF_READ_NULL|CF_READ_PARTIAL|CF_READ_ATTACHED|CF_WRITE_NULL|CF_WRITE_PARTIAL);
|
||||
|
||||
si_f->flags &= ~(SI_FL_ERR|SI_FL_EXP);
|
||||
si_b->flags &= ~(SI_FL_ERR|SI_FL_EXP);
|
||||
si_f->flags &= ~SI_FL_EXP;
|
||||
si_b->flags &= ~SI_FL_EXP;
|
||||
|
||||
si_f->prev_state = si_f->state;
|
||||
si_b->prev_state = si_b->state;
|
||||
|
Loading…
Reference in New Issue
Block a user