From: Willy Tarreau Date: Wed, 23 Sep 2020 16:16:03 +0000 (+0200) Subject: CLEANUP: proxy: remove the first_to_listen hack in zombify_proxy() X-Git-Tag: v2.3-dev6~57 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bec7ab0ad9e00ac2f796d5d265cb692cab0c7e8f;p=thirdparty%2Fhaproxy.git CLEANUP: proxy: remove the first_to_listen hack in zombify_proxy() This thing was needed for an optimization used in soft_stop() which doesn't exist anymore, so let's remove it as it's cryptic and hinders the listeners cleanup. --- diff --git a/src/proxy.c b/src/proxy.c index d5af92fc00..a901f53ada 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -1326,33 +1326,12 @@ int pause_proxy(struct proxy *p) void zombify_proxy(struct proxy *p) { struct listener *l; - struct listener *first_to_listen = NULL; list_for_each_entry(l, &p->conf.listeners, by_fe) { - enum li_state oldstate = l->state; - unbind_listener_no_close(l); - if (l->state >= LI_ASSIGNED) { + if (l->state >= LI_ASSIGNED) delete_listener(l); - } - /* - * Pretend we're still up and running so that the fd - * will be sent if asked. - */ - if (!first_to_listen && oldstate >= LI_LISTEN) - first_to_listen = l; } - /* Quick hack : at stop time, to know we have to close the sockets - * despite the proxy being marked as stopped, make the first listener - * of the listener list an active one, so that we don't have to - * parse the whole list to be sure. - */ - if (first_to_listen && LIST_ELEM(p->conf.listeners.n, - struct listener *, by_fe) != first_to_listen) { - LIST_DEL(&l->by_fe); - LIST_ADD(&p->conf.listeners, &l->by_fe); - } - p->state = PR_STSTOPPED; }