Merge of r4918: cache manager startup with many listen sockets.

Fixed failure to start cache manager and cache loader processes
if there were more than 512 listening sockets in configuration.
This commit is contained in:
Maxim Dounin 2012-12-10 17:46:51 +00:00
parent aa94ea5dea
commit ae14505582
2 changed files with 11 additions and 4 deletions

View File

@ -749,6 +749,8 @@ ngx_close_listening_sockets(ngx_cycle_t *cycle)
ls[i].fd = (ngx_socket_t) -1;
}
cycle->listening.nelts = 0;
}

View File

@ -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;