From: Willy Tarreau Date: Fri, 11 Dec 2020 09:24:05 +0000 (+0100) Subject: MINOR: stream-int: don't touch polling anymore on shutdown X-Git-Tag: v2.4-dev3~30 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a5ea7519222282d5a5abd107ff4bdfee90b54fae;p=thirdparty%2Fhaproxy.git MINOR: stream-int: don't touch polling anymore on shutdown Not only it's become totally useless with muxes, in addition it's dangerous to play with the mux's FD while shutting a stream down for writes. It's already done *if necessary* by the cs_shutw() code at the mux layer. Fortunately it doesn't seem to have any impact, most likely the polling updates used to immediately revert this operation. --- diff --git a/src/stream_interface.c b/src/stream_interface.c index 45bcea3181..e903b6d120 100644 --- a/src/stream_interface.c +++ b/src/stream_interface.c @@ -1008,7 +1008,6 @@ static void stream_int_shutr_conn(struct stream_interface *si) static void stream_int_shutw_conn(struct stream_interface *si) { struct conn_stream *cs = __objt_cs(si->end); - struct connection *conn = cs->conn; struct channel *ic = si_ic(si); struct channel *oc = si_oc(si); @@ -1056,13 +1055,8 @@ static void stream_int_shutw_conn(struct stream_interface *si) */ cs_shutw(cs, CS_SHW_NORMAL); - if (!(ic->flags & (CF_SHUTR|CF_DONT_READ))) { - /* OK just a shutw, but we want the caller - * to disable polling on this FD if exists. - */ - conn_cond_update_polling(conn); + if (!(ic->flags & (CF_SHUTR|CF_DONT_READ))) return; - } } /* fall through */