]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[MINOR] transfer errors were not reported anymore in data phase
authorWilly Tarreau <w@1wt.eu>
Sun, 14 Dec 2008 10:44:04 +0000 (11:44 +0100)
committerWilly Tarreau <w@1wt.eu>
Sun, 28 Dec 2008 09:58:25 +0000 (10:58 +0100)
src/session.c

index 5046e04264421f3d3431a158cd8fff2e1204784e..6bad79a442cd4c96434c66f50235614307be1c36 100644 (file)
@@ -572,6 +572,12 @@ void process_session(struct task *t, int *next)
                        s->si[0].shutr(&s->si[0]);
                        s->si[0].shutw(&s->si[0]);
                        stream_int_report_error(&s->si[0]);
+                       if (!(s->req->analysers) && !(s->rep->analysers)) {
+                               if (!(s->flags & SN_ERR_MASK))
+                                       s->flags |= SN_ERR_CLICL;
+                               if (!(s->flags & SN_FINST_MASK))
+                                       s->flags |= SN_FINST_D;
+                       }
                }
        }
 
@@ -583,6 +589,12 @@ void process_session(struct task *t, int *next)
                        s->be->failed_resp++;
                        if (s->srv)
                                s->srv->failed_resp++;
+                       if (!(s->req->analysers) && !(s->rep->analysers)) {
+                               if (!(s->flags & SN_ERR_MASK))
+                                       s->flags |= SN_ERR_SRVCL;
+                               if (!(s->flags & SN_FINST_MASK))
+                                       s->flags |= SN_FINST_D;
+                       }
                }
                /* note: maybe we should process connection errors here ? */
        }