diff --git a/include/haproxy/sc_strm.h b/include/haproxy/sc_strm.h index ffe9dbac3..016aab267 100644 --- a/include/haproxy/sc_strm.h +++ b/include/haproxy/sc_strm.h @@ -357,8 +357,6 @@ static inline int sc_is_send_allowed(const struct stconn *sc) { if (sc->flags & SC_FL_SHUT_DONE) return 0; - if (sc->flags & SC_FL_SHUT_WANTED) - return 1; return !sc_ep_test(sc, SE_FL_WAIT_DATA | SE_FL_WONT_CONSUME); } diff --git a/src/stconn.c b/src/stconn.c index 9951c80f4..8260cb039 100644 --- a/src/stconn.c +++ b/src/stconn.c @@ -967,10 +967,8 @@ static void sc_app_chk_snd_applet(struct stconn *sc) if (unlikely(sc->state != SC_ST_EST || (sc->flags & SC_FL_SHUT_DONE))) return; - /* we only wake the applet up if it was waiting for some data and is ready to consume it - * or if there is a pending shutdown - */ - if (!sc_ep_test(sc, SE_FL_WAIT_DATA|SE_FL_WONT_CONSUME) && !(sc->flags & SC_FL_SHUT_WANTED)) + /* we only wake the applet up if it was waiting for some data and is ready to consume it */ + if (!sc_ep_test(sc, SE_FL_WAIT_DATA|SE_FL_WONT_CONSUME)) return; if (co_data(oc) || sc_ep_have_ff_data(sc)) {