From 85b44b46fb851fc933e3c053ab2c45e5b92f85c9 Mon Sep 17 00:00:00 2001 From: Maxim Dounin Date: Thu, 12 Jul 2018 19:50:07 +0300 Subject: [PATCH] Events: added configuration check on the number of connections. There should be at least one worker connection for each listening socket, plus an additional connection for channel between worker and master, or starting worker processes will fail. --- src/event/ngx_event.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c index a18b1132c..69c55d7a0 100644 --- a/src/event/ngx_event.c +++ b/src/event/ngx_event.c @@ -421,6 +421,21 @@ ngx_event_init_conf(ngx_cycle_t *cycle, void *conf) return NGX_CONF_ERROR; } + if (cycle->connection_n < cycle->listening.nelts + 1) { + + /* + * there should be at least one connection for each listening + * socket, plus an additional connection for channel + */ + + ngx_log_error(NGX_LOG_EMERG, cycle->log, 0, + "%ui worker_connections are not enough " + "for %ui listening sockets", + cycle->connection_n, cycle->listening.nelts); + + return NGX_CONF_ERROR; + } + #if (NGX_HAVE_REUSEPORT) ls = cycle->listening.elts;