[nginx] Events: added configuration check on the number of connections.

Maxim Dounin mdounin at mdounin.ru
Thu Jul 12 17:56:10 UTC 2018


details:   http://hg.nginx.org/nginx/rev/8f152ca81f5f
branches:  
changeset: 7316:8f152ca81f5f
user:      Maxim Dounin <mdounin at mdounin.ru>
date:      Thu Jul 12 19:50:07 2018 +0300
description:
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.

diffstat:

 src/event/ngx_event.c |  15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diffs (25 lines):

diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c
--- a/src/event/ngx_event.c
+++ b/src/event/ngx_event.c
@@ -421,6 +421,21 @@ ngx_event_init_conf(ngx_cycle_t *cycle, 
         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;


More information about the nginx-devel mailing list