aboutsummaryrefslogtreecommitdiff
path: root/src
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 /src
parent22223c75c9715e568f5710a8eed1fee9e7c2983f (diff)
downloadnginx-593bb543873ac57efade09dbcc2f93ab6b4d5ab0.tar.gz
nginx-593bb543873ac57efade09dbcc2f93ab6b4d5ab0.zip
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 'src')
-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++) {