Latest update - 7316
This commit is contained in:
@@ -410,12 +410,52 @@ ngx_handle_write_event(ngx_event_t *wev, size_t lowat)
|
||||
static char *
|
||||
ngx_event_init_conf(ngx_cycle_t *cycle, void *conf)
|
||||
{
|
||||
#if (NGX_HAVE_REUSEPORT)
|
||||
ngx_uint_t i;
|
||||
ngx_listening_t *ls;
|
||||
#endif
|
||||
|
||||
if (ngx_get_conf(cycle->conf_ctx, ngx_events_module) == NULL) {
|
||||
ngx_log_error(NGX_LOG_EMERG, cycle->log, 0,
|
||||
"no \"events\" section in configuration");
|
||||
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;
|
||||
for (i = 0; i < cycle->listening.nelts; i++) {
|
||||
|
||||
if (!ls[i].reuseport || ls[i].worker != 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ngx_clone_listening(cycle, &ls[i]) != NGX_OK) {
|
||||
return NGX_CONF_ERROR;
|
||||
}
|
||||
|
||||
/* cloning may change cycle->listening.elts */
|
||||
|
||||
ls = cycle->listening.elts;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
return NGX_CONF_OK;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user