diff --git a/include/haproxy/stconn.h b/include/haproxy/stconn.h index 3897db6c1..61ce17c39 100644 --- a/include/haproxy/stconn.h +++ b/include/haproxy/stconn.h @@ -148,13 +148,14 @@ static inline struct sedesc *se_opposite(struct sedesc *se) return seo; } -static inline void se_fwd_kip(struct sedesc *se) +/* stream connector version */ +static inline void sc_ep_fwd_kip(struct stconn *sc_in, struct stconn *sc_out) { - se->kop += se->kip; - se->kip = 0; + BUG_ON(sc_in == NULL || sc_out == NULL); + sc_out->sedesc->kop += sc_in->sedesc->kip; + sc_in->sedesc->kip = 0; } -/* stream connector version */ static forceinline void sc_ep_zero(struct stconn *sc) { se_fl_zero(sc->sedesc); diff --git a/src/stconn.c b/src/stconn.c index ed5f94e1d..a899648f0 100644 --- a/src/stconn.c +++ b/src/stconn.c @@ -1643,7 +1643,7 @@ int sc_conn_send(struct stconn *sc) if (!conn->mux) return 0; - se_fwd_kip(sc->sedesc); + sc_ep_fwd_kip(sco, sc); if (sc_ep_have_ff_data(sc)) { unsigned int send_flag = 0;