if (rep->flags & CF_READ_ERROR) {
struct connection *conn = NULL;
- if (txn->flags & TX_NOT_FIRST)
- goto abort_keep_alive;
-
if (objt_cs(s->si[1].end))
conn = objt_cs(s->si[1].end)->conn;
return 0;
}
+ if (txn->flags & TX_NOT_FIRST)
+ goto abort_keep_alive;
+
_HA_ATOMIC_ADD(&s->be->be_counters.failed_resp, 1);
if (objt_server(s->target)) {
_HA_ATOMIC_ADD(&__objt_server(s->target)->counters.failed_resp, 1);
/* 4: close from server, capture the response if the server has started to respond */
else if (rep->flags & CF_SHUTR) {
- if (txn->flags & TX_NOT_FIRST)
- goto abort_keep_alive;
-
if ((si_b->flags & SI_FL_L7_RETRY) &&
(s->be->retry_type & PR_RE_DISCONNECTED)) {
if (co_data(rep) || do_l7_retry(s, si_b) == 0)
return 0;
}
+ if (txn->flags & TX_NOT_FIRST)
+ goto abort_keep_alive;
+
_HA_ATOMIC_ADD(&s->be->be_counters.failed_resp, 1);
if (objt_server(s->target)) {
_HA_ATOMIC_ADD(&__objt_server(s->target)->counters.failed_resp, 1);