From: Willy Tarreau Date: Fri, 1 Mar 2019 08:39:42 +0000 (+0100) Subject: MINOR: init: move some maxsock updates earlier X-Git-Tag: v2.0-dev2~135 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8d687d846485e41afc359f0006d08dd559adddda;p=thirdparty%2Fhaproxy.git MINOR: init: move some maxsock updates earlier We'll need to know the global maxsock before the maxconn calculation. Actually only two components were calculated too late, the peers FD and the stats FD. Let's move them a few lines upward. --- diff --git a/src/haproxy.c b/src/haproxy.c index 21bfcbd97a..22cd51e8be 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -1940,6 +1940,18 @@ static void init(int argc, char **argv) if (cfg_maxconn > 0) global.maxconn = cfg_maxconn; + if (global.stats_fe) + global.maxsock += global.stats_fe->maxconn; + + if (cfg_peers) { + /* peers also need to bypass global maxconn */ + struct peers *p = cfg_peers; + + for (p = cfg_peers; p; p = p->next) + if (p->peers_fe) + global.maxsock += p->peers_fe->maxconn; + } + if (cfg_pidfile) { free(global.pidfile); global.pidfile = strdup(cfg_pidfile); @@ -2098,18 +2110,6 @@ static void init(int argc, char **argv) global.maxsock += global.maxconn * sides * global.ssl_used_async_engines; } - if (global.stats_fe) - global.maxsock += global.stats_fe->maxconn; - - if (cfg_peers) { - /* peers also need to bypass global maxconn */ - struct peers *p = cfg_peers; - - for (p = cfg_peers; p; p = p->next) - if (p->peers_fe) - global.maxsock += p->peers_fe->maxconn; - } - proxy_adjust_all_maxconn(); if (global.tune.maxpollevents <= 0)