aboutsummaryrefslogtreecommitdiff
path: root/src/os/unix/ngx_process_cycle.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2012-11-20 13:37:55 +0000
committerIgor Sysoev <igor@sysoev.ru>2012-11-20 13:37:55 +0000
commitda130acfbe130ce655314ec128bcc1e5f0e334c6 (patch)
tree254ec4a17bf524fa54db64436303b55b4447e760 /src/os/unix/ngx_process_cycle.c
parent246cbd21ce2aad389bcf538b6ed420197e1fc132 (diff)
downloadnginx-da130acfbe130ce655314ec128bcc1e5f0e334c6.tar.gz
nginx-da130acfbe130ce655314ec128bcc1e5f0e334c6.zip
Fixed failure to start cache manager and cache loader processes
if there were more than 512 listening sockets in configuration.
Diffstat (limited to 'src/os/unix/ngx_process_cycle.c')
-rw-r--r--src/os/unix/ngx_process_cycle.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
index acafb7f6f..c9b0266ed 100644
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -1296,14 +1296,19 @@ ngx_cache_manager_process_cycle(ngx_cycle_t *cycle, void *data)
void *ident[4];
ngx_event_t ev;
- cycle->connection_n = 512;
-
+ /*
+ * Set correct process type since closing listening Unix domain socket
+ * in a master process also removes the Unix domain socket file.
+ */
ngx_process = NGX_PROCESS_HELPER;
- ngx_worker_process_init(cycle, -1);
-
ngx_close_listening_sockets(cycle);
+ /* Set a moderate number of connections for a helper process. */
+ cycle->connection_n = 512;
+
+ ngx_worker_process_init(cycle, -1);
+
ngx_memzero(&ev, sizeof(ngx_event_t));
ev.handler = ctx->handler;
ev.data = ident;