summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2022-11-23 23:12:04 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2022-11-23 23:12:04 +0300
commit593bb543873ac57efade09dbcc2f93ab6b4d5ab0 (patch)
tree39e04716e86991e16eef7bdd98ea1822ebd9c2b4
parent22223c75c9715e568f5710a8eed1fee9e7c2983f (diff)
downloadnginx-593bb543873ac57efade09dbcc2f93ab6b4d5ab0.tar.gz
nginx-593bb543873ac57efade09dbcc2f93ab6b4d5ab0.tar.bz2
Disabled cloning of sockets without master process (ticket #2403).
Cloning of listening sockets for each worker process does not make sense when working without master process, and causes some of the connections not to be accepted if worker_processes is set to more than one and there are listening sockets configured with the reuseport flag. Fix is to disable cloning when master process is disabled.
Diffstat (limited to '')
-rw-r--r--src/event/ngx_event.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c
index 47229b507..77b07f6e1 100644
--- a/src/event/ngx_event.c
+++ b/src/event/ngx_event.c
@@ -416,6 +416,7 @@ ngx_event_init_conf(ngx_cycle_t *cycle, void *conf)
{
#if (NGX_HAVE_REUSEPORT)
ngx_uint_t i;
+ ngx_core_conf_t *ccf;
ngx_listening_t *ls;
#endif
@@ -442,7 +443,9 @@ ngx_event_init_conf(ngx_cycle_t *cycle, void *conf)
#if (NGX_HAVE_REUSEPORT)
- if (!ngx_test_config) {
+ ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module);
+
+ if (!ngx_test_config && ccf->master) {
ls = cycle->listening.elts;
for (i = 0; i < cycle->listening.nelts; i++) {