Dynamic modules: changed ngx_modules to cycle->modules.

This commit is contained in:
Maxim Dounin 2016-02-04 18:30:21 +03:00
parent 7988334570
commit 0f67d6355c
16 changed files with 148 additions and 140 deletions

View File

@ -329,9 +329,9 @@ ngx_conf_handler(ngx_conf_t *cf, ngx_int_t last)
found = 0; found = 0;
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cf->cycle->modules[i]; i++) {
cmd = ngx_modules[i]->commands; cmd = cf->cycle->modules[i]->commands;
if (cmd == NULL) { if (cmd == NULL) {
continue; continue;
} }
@ -348,8 +348,8 @@ ngx_conf_handler(ngx_conf_t *cf, ngx_int_t last)
found = 1; found = 1;
if (ngx_modules[i]->type != NGX_CONF_MODULE if (cf->cycle->modules[i]->type != NGX_CONF_MODULE
&& ngx_modules[i]->type != cf->module_type) && cf->cycle->modules[i]->type != cf->module_type)
{ {
continue; continue;
} }
@ -411,16 +411,16 @@ ngx_conf_handler(ngx_conf_t *cf, ngx_int_t last)
conf = NULL; conf = NULL;
if (cmd->type & NGX_DIRECT_CONF) { if (cmd->type & NGX_DIRECT_CONF) {
conf = ((void **) cf->ctx)[ngx_modules[i]->index]; conf = ((void **) cf->ctx)[cf->cycle->modules[i]->index];
} else if (cmd->type & NGX_MAIN_CONF) { } else if (cmd->type & NGX_MAIN_CONF) {
conf = &(((void **) cf->ctx)[ngx_modules[i]->index]); conf = &(((void **) cf->ctx)[cf->cycle->modules[i]->index]);
} else if (cf->ctx) { } else if (cf->ctx) {
confp = *(void **) ((char *) cf->ctx + cmd->conf); confp = *(void **) ((char *) cf->ctx + cmd->conf);
if (confp) { if (confp) {
conf = confp[ngx_modules[i]->ctx_index]; conf = confp[cf->cycle->modules[i]->ctx_index];
} }
} }

View File

@ -212,12 +212,15 @@ ngx_init_cycle(ngx_cycle_t *old_cycle)
ngx_strlow(cycle->hostname.data, (u_char *) hostname, cycle->hostname.len); ngx_strlow(cycle->hostname.data, (u_char *) hostname, cycle->hostname.len);
for (i = 0; ngx_modules[i]; i++) { cycle->modules = ngx_modules;
if (ngx_modules[i]->type != NGX_CORE_MODULE) {
for (i = 0; cycle->modules[i]; i++) {
if (cycle->modules[i]->type != NGX_CORE_MODULE) {
continue; continue;
} }
module = ngx_modules[i]->ctx; module = cycle->modules[i]->ctx;
if (module->create_conf) { if (module->create_conf) {
rv = module->create_conf(cycle); rv = module->create_conf(cycle);
@ -225,7 +228,7 @@ ngx_init_cycle(ngx_cycle_t *old_cycle)
ngx_destroy_pool(pool); ngx_destroy_pool(pool);
return NULL; return NULL;
} }
cycle->conf_ctx[ngx_modules[i]->index] = rv; cycle->conf_ctx[cycle->modules[i]->index] = rv;
} }
} }
@ -276,15 +279,16 @@ ngx_init_cycle(ngx_cycle_t *old_cycle)
cycle->conf_file.data); cycle->conf_file.data);
} }
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cycle->modules[i]; i++) {
if (ngx_modules[i]->type != NGX_CORE_MODULE) { if (cycle->modules[i]->type != NGX_CORE_MODULE) {
continue; continue;
} }
module = ngx_modules[i]->ctx; module = cycle->modules[i]->ctx;
if (module->init_conf) { if (module->init_conf) {
if (module->init_conf(cycle, cycle->conf_ctx[ngx_modules[i]->index]) if (module->init_conf(cycle,
cycle->conf_ctx[cycle->modules[i]->index])
== NGX_CONF_ERROR) == NGX_CONF_ERROR)
{ {
environ = senv; environ = senv;

View File

@ -48,6 +48,8 @@ struct ngx_cycle_s {
ngx_connection_t *free_connections; ngx_connection_t *free_connections;
ngx_uint_t free_connection_n; ngx_uint_t free_connection_n;
ngx_module_t **modules;
ngx_queue_t reusable_connections_queue; ngx_queue_t reusable_connections_queue;
ngx_array_t listening; ngx_array_t listening;

View File

@ -32,9 +32,9 @@ ngx_init_modules(ngx_cycle_t *cycle)
{ {
ngx_uint_t i; ngx_uint_t i;
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cycle->modules[i]; i++) {
if (ngx_modules[i]->init_module) { if (cycle->modules[i]->init_module) {
if (ngx_modules[i]->init_module(cycle) != NGX_OK) { if (cycle->modules[i]->init_module(cycle) != NGX_OK) {
return NGX_ERROR; return NGX_ERROR;
} }
} }
@ -53,12 +53,12 @@ ngx_count_modules(ngx_cycle_t *cycle, ngx_uint_t type)
/* count appropriate modules, set up their indices */ /* count appropriate modules, set up their indices */
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cycle->modules[i]; i++) {
if (ngx_modules[i]->type != type) { if (cycle->modules[i]->type != type) {
continue; continue;
} }
ngx_modules[i]->ctx_index = max++; cycle->modules[i]->ctx_index = max++;
} }
return max; return max;

View File

@ -606,16 +606,16 @@ ngx_event_process_init(ngx_cycle_t *cycle)
return NGX_ERROR; return NGX_ERROR;
} }
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_EVENT_MODULE) { if (cycle->modules[m]->type != NGX_EVENT_MODULE) {
continue; continue;
} }
if (ngx_modules[m]->ctx_index != ecf->use) { if (cycle->modules[m]->ctx_index != ecf->use) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cycle->modules[m]->ctx;
if (module->actions.init(cycle, ngx_timer_resolution) != NGX_OK) { if (module->actions.init(cycle, ngx_timer_resolution) != NGX_OK) {
/* fatal */ /* fatal */
@ -905,16 +905,17 @@ ngx_events_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
*(void **) conf = ctx; *(void **) conf = ctx;
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cf->cycle->modules[i]; i++) {
if (ngx_modules[i]->type != NGX_EVENT_MODULE) { if (cf->cycle->modules[i]->type != NGX_EVENT_MODULE) {
continue; continue;
} }
m = ngx_modules[i]->ctx; m = cf->cycle->modules[i]->ctx;
if (m->create_conf) { if (m->create_conf) {
(*ctx)[ngx_modules[i]->ctx_index] = m->create_conf(cf->cycle); (*ctx)[cf->cycle->modules[i]->ctx_index] =
if ((*ctx)[ngx_modules[i]->ctx_index] == NULL) { m->create_conf(cf->cycle);
if ((*ctx)[cf->cycle->modules[i]->ctx_index] == NULL) {
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
} }
@ -933,15 +934,16 @@ ngx_events_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
return rv; return rv;
} }
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cf->cycle->modules[i]; i++) {
if (ngx_modules[i]->type != NGX_EVENT_MODULE) { if (cf->cycle->modules[i]->type != NGX_EVENT_MODULE) {
continue; continue;
} }
m = ngx_modules[i]->ctx; m = cf->cycle->modules[i]->ctx;
if (m->init_conf) { if (m->init_conf) {
rv = m->init_conf(cf->cycle, (*ctx)[ngx_modules[i]->ctx_index]); rv = m->init_conf(cf->cycle,
(*ctx)[cf->cycle->modules[i]->ctx_index]);
if (rv != NGX_CONF_OK) { if (rv != NGX_CONF_OK) {
return rv; return rv;
} }
@ -1002,15 +1004,15 @@ ngx_event_use(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
} }
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_EVENT_MODULE) { if (cf->cycle->modules[m]->type != NGX_EVENT_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
if (module->name->len == value[1].len) { if (module->name->len == value[1].len) {
if (ngx_strcmp(module->name->data, value[1].data) == 0) { if (ngx_strcmp(module->name->data, value[1].data) == 0) {
ecf->use = ngx_modules[m]->ctx_index; ecf->use = cf->cycle->modules[m]->ctx_index;
ecf->name = module->name->data; ecf->name = module->name->data;
if (ngx_process == NGX_PROCESS_SINGLE if (ngx_process == NGX_PROCESS_SINGLE
@ -1225,20 +1227,20 @@ ngx_event_core_init_conf(ngx_cycle_t *cycle, void *conf)
#endif #endif
if (module == NULL) { if (module == NULL) {
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cycle->modules[i]; i++) {
if (ngx_modules[i]->type != NGX_EVENT_MODULE) { if (cycle->modules[i]->type != NGX_EVENT_MODULE) {
continue; continue;
} }
event_module = ngx_modules[i]->ctx; event_module = cycle->modules[i]->ctx;
if (ngx_strcmp(event_module->name->data, event_core_name.data) == 0) if (ngx_strcmp(event_module->name->data, event_core_name.data) == 0)
{ {
continue; continue;
} }
module = ngx_modules[i]; module = cycle->modules[i];
break; break;
} }
} }

View File

@ -560,12 +560,12 @@ ngx_http_rewrite_if(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cf->cycle->modules[i]; i++) {
if (ngx_modules[i]->type != NGX_HTTP_MODULE) { if (cf->cycle->modules[i]->type != NGX_HTTP_MODULE) {
continue; continue;
} }
module = ngx_modules[i]->ctx; module = cf->cycle->modules[i]->ctx;
if (module->create_loc_conf) { if (module->create_loc_conf) {
@ -574,7 +574,7 @@ ngx_http_rewrite_if(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
ctx->loc_conf[ngx_modules[i]->ctx_index] = mconf; ctx->loc_conf[cf->cycle->modules[i]->ctx_index] = mconf;
} }
} }

View File

@ -183,13 +183,13 @@ ngx_http_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
* of the all http modules * of the all http modules
*/ */
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_HTTP_MODULE) { if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
mi = ngx_modules[m]->ctx_index; mi = cf->cycle->modules[m]->ctx_index;
if (module->create_main_conf) { if (module->create_main_conf) {
ctx->main_conf[mi] = module->create_main_conf(cf); ctx->main_conf[mi] = module->create_main_conf(cf);
@ -216,12 +216,12 @@ ngx_http_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
pcf = *cf; pcf = *cf;
cf->ctx = ctx; cf->ctx = ctx;
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_HTTP_MODULE) { if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
if (module->preconfiguration) { if (module->preconfiguration) {
if (module->preconfiguration(cf) != NGX_OK) { if (module->preconfiguration(cf) != NGX_OK) {
@ -248,13 +248,13 @@ ngx_http_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
cmcf = ctx->main_conf[ngx_http_core_module.ctx_index]; cmcf = ctx->main_conf[ngx_http_core_module.ctx_index];
cscfp = cmcf->servers.elts; cscfp = cmcf->servers.elts;
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_HTTP_MODULE) { if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
mi = ngx_modules[m]->ctx_index; mi = cf->cycle->modules[m]->ctx_index;
/* init http{} main_conf's */ /* init http{} main_conf's */
@ -297,12 +297,12 @@ ngx_http_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
} }
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_HTTP_MODULE) { if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
if (module->postconfiguration) { if (module->postconfiguration) {
if (module->postconfiguration(cf) != NGX_OK) { if (module->postconfiguration(cf) != NGX_OK) {

View File

@ -2968,12 +2968,12 @@ ngx_http_core_server(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cf->cycle->modules[i]; i++) {
if (ngx_modules[i]->type != NGX_HTTP_MODULE) { if (cf->cycle->modules[i]->type != NGX_HTTP_MODULE) {
continue; continue;
} }
module = ngx_modules[i]->ctx; module = cf->cycle->modules[i]->ctx;
if (module->create_srv_conf) { if (module->create_srv_conf) {
mconf = module->create_srv_conf(cf); mconf = module->create_srv_conf(cf);
@ -2981,7 +2981,7 @@ ngx_http_core_server(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
ctx->srv_conf[ngx_modules[i]->ctx_index] = mconf; ctx->srv_conf[cf->cycle->modules[i]->ctx_index] = mconf;
} }
if (module->create_loc_conf) { if (module->create_loc_conf) {
@ -2990,7 +2990,7 @@ ngx_http_core_server(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
ctx->loc_conf[ngx_modules[i]->ctx_index] = mconf; ctx->loc_conf[cf->cycle->modules[i]->ctx_index] = mconf;
} }
} }
@ -3086,17 +3086,17 @@ ngx_http_core_location(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cf->cycle->modules[i]; i++) {
if (ngx_modules[i]->type != NGX_HTTP_MODULE) { if (cf->cycle->modules[i]->type != NGX_HTTP_MODULE) {
continue; continue;
} }
module = ngx_modules[i]->ctx; module = cf->cycle->modules[i]->ctx;
if (module->create_loc_conf) { if (module->create_loc_conf) {
ctx->loc_conf[ngx_modules[i]->ctx_index] = ctx->loc_conf[cf->cycle->modules[i]->ctx_index] =
module->create_loc_conf(cf); module->create_loc_conf(cf);
if (ctx->loc_conf[ngx_modules[i]->ctx_index] == NULL) { if (ctx->loc_conf[cf->cycle->modules[i]->ctx_index] == NULL) {
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
} }
@ -4607,12 +4607,12 @@ ngx_http_core_limit_except(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cf->cycle->modules[i]; i++) {
if (ngx_modules[i]->type != NGX_HTTP_MODULE) { if (cf->cycle->modules[i]->type != NGX_HTTP_MODULE) {
continue; continue;
} }
module = ngx_modules[i]->ctx; module = cf->cycle->modules[i]->ctx;
if (module->create_loc_conf) { if (module->create_loc_conf) {
@ -4621,7 +4621,7 @@ ngx_http_core_limit_except(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
ctx->loc_conf[ngx_modules[i]->ctx_index] = mconf; ctx->loc_conf[cf->cycle->modules[i]->ctx_index] = mconf;
} }
} }

View File

@ -5331,12 +5331,12 @@ ngx_http_upstream(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_HTTP_MODULE) { if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
if (module->create_srv_conf) { if (module->create_srv_conf) {
mconf = module->create_srv_conf(cf); mconf = module->create_srv_conf(cf);
@ -5344,7 +5344,7 @@ ngx_http_upstream(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
ctx->srv_conf[ngx_modules[m]->ctx_index] = mconf; ctx->srv_conf[cf->cycle->modules[m]->ctx_index] = mconf;
} }
if (module->create_loc_conf) { if (module->create_loc_conf) {
@ -5353,7 +5353,7 @@ ngx_http_upstream(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
ctx->loc_conf[ngx_modules[m]->ctx_index] = mconf; ctx->loc_conf[cf->cycle->modules[m]->ctx_index] = mconf;
} }
} }

View File

@ -118,13 +118,13 @@ ngx_mail_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
* create the main_conf's and the null srv_conf's of the all mail modules * create the main_conf's and the null srv_conf's of the all mail modules
*/ */
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_MAIL_MODULE) { if (cf->cycle->modules[m]->type != NGX_MAIL_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
mi = ngx_modules[m]->ctx_index; mi = cf->cycle->modules[m]->ctx_index;
if (module->create_main_conf) { if (module->create_main_conf) {
ctx->main_conf[mi] = module->create_main_conf(cf); ctx->main_conf[mi] = module->create_main_conf(cf);
@ -162,13 +162,13 @@ ngx_mail_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
cmcf = ctx->main_conf[ngx_mail_core_module.ctx_index]; cmcf = ctx->main_conf[ngx_mail_core_module.ctx_index];
cscfp = cmcf->servers.elts; cscfp = cmcf->servers.elts;
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_MAIL_MODULE) { if (cf->cycle->modules[m]->type != NGX_MAIL_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
mi = ngx_modules[m]->ctx_index; mi = cf->cycle->modules[m]->ctx_index;
/* init mail{} main_conf's */ /* init mail{} main_conf's */

View File

@ -237,12 +237,12 @@ ngx_mail_core_server(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_MAIL_MODULE) { if (cf->cycle->modules[m]->type != NGX_MAIL_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
if (module->create_srv_conf) { if (module->create_srv_conf) {
mconf = module->create_srv_conf(cf); mconf = module->create_srv_conf(cf);
@ -250,7 +250,7 @@ ngx_mail_core_server(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
ctx->srv_conf[ngx_modules[m]->ctx_index] = mconf; ctx->srv_conf[cf->cycle->modules[m]->ctx_index] = mconf;
} }
} }
@ -392,12 +392,12 @@ ngx_mail_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
#endif #endif
if (cscf->protocol == NULL) { if (cscf->protocol == NULL) {
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_MAIL_MODULE) { if (cf->cycle->modules[m]->type != NGX_MAIL_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
if (module->protocol == NULL) { if (module->protocol == NULL) {
continue; continue;
@ -595,12 +595,12 @@ ngx_mail_core_protocol(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
value = cf->args->elts; value = cf->args->elts;
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_MAIL_MODULE) { if (cf->cycle->modules[m]->type != NGX_MAIL_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
if (module->protocol if (module->protocol
&& ngx_strcmp(module->protocol->name.data, value[1].data) == 0) && ngx_strcmp(module->protocol->name.data, value[1].data) == 0)

View File

@ -294,9 +294,9 @@ ngx_single_process_cycle(ngx_cycle_t *cycle)
exit(2); exit(2);
} }
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cycle->modules[i]; i++) {
if (ngx_modules[i]->init_process) { if (cycle->modules[i]->init_process) {
if (ngx_modules[i]->init_process(cycle) == NGX_ERROR) { if (cycle->modules[i]->init_process(cycle) == NGX_ERROR) {
/* fatal */ /* fatal */
exit(2); exit(2);
} }
@ -310,9 +310,9 @@ ngx_single_process_cycle(ngx_cycle_t *cycle)
if (ngx_terminate || ngx_quit) { if (ngx_terminate || ngx_quit) {
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cycle->modules[i]; i++) {
if (ngx_modules[i]->exit_process) { if (cycle->modules[i]->exit_process) {
ngx_modules[i]->exit_process(cycle); cycle->modules[i]->exit_process(cycle);
} }
} }
@ -689,9 +689,9 @@ ngx_master_process_exit(ngx_cycle_t *cycle)
ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exit"); ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exit");
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cycle->modules[i]; i++) {
if (ngx_modules[i]->exit_master) { if (cycle->modules[i]->exit_master) {
ngx_modules[i]->exit_master(cycle); cycle->modules[i]->exit_master(cycle);
} }
} }
@ -895,9 +895,9 @@ ngx_worker_process_init(ngx_cycle_t *cycle, ngx_int_t worker)
ls[i].previous = NULL; ls[i].previous = NULL;
} }
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cycle->modules[i]; i++) {
if (ngx_modules[i]->init_process) { if (cycle->modules[i]->init_process) {
if (ngx_modules[i]->init_process(cycle) == NGX_ERROR) { if (cycle->modules[i]->init_process(cycle) == NGX_ERROR) {
/* fatal */ /* fatal */
exit(2); exit(2);
} }
@ -949,9 +949,9 @@ ngx_worker_process_exit(ngx_cycle_t *cycle)
ngx_uint_t i; ngx_uint_t i;
ngx_connection_t *c; ngx_connection_t *c;
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cycle->modules[i]; i++) {
if (ngx_modules[i]->exit_process) { if (cycle->modules[i]->exit_process) {
ngx_modules[i]->exit_process(cycle); cycle->modules[i]->exit_process(cycle);
} }
} }

View File

@ -553,9 +553,9 @@ ngx_master_process_exit(ngx_cycle_t *cycle)
ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exit"); ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exit");
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cycle->modules[i]; i++) {
if (ngx_modules[i]->exit_master) { if (cycle->modules[i]->exit_master) {
ngx_modules[i]->exit_master(cycle); cycle->modules[i]->exit_master(cycle);
} }
} }
@ -766,9 +766,9 @@ ngx_worker_thread(void *data)
cycle = (ngx_cycle_t *) ngx_cycle; cycle = (ngx_cycle_t *) ngx_cycle;
for (n = 0; ngx_modules[n]; n++) { for (n = 0; cycle->modules[n]; n++) {
if (ngx_modules[n]->init_process) { if (cycle->modules[n]->init_process) {
if (ngx_modules[n]->init_process(cycle) == NGX_ERROR) { if (cycle->modules[n]->init_process(cycle) == NGX_ERROR) {
/* fatal */ /* fatal */
exit(2); exit(2);
} }
@ -825,9 +825,9 @@ ngx_worker_process_exit(ngx_cycle_t *cycle)
ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exit"); ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exit");
for (i = 0; ngx_modules[i]; i++) { for (i = 0; cycle->modules[i]; i++) {
if (ngx_modules[i]->exit_process) { if (cycle->modules[i]->exit_process) {
ngx_modules[i]->exit_process(cycle); cycle->modules[i]->exit_process(cycle);
} }
} }

View File

@ -119,13 +119,13 @@ ngx_stream_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
* create the main_conf's and the null srv_conf's of the all stream modules * create the main_conf's and the null srv_conf's of the all stream modules
*/ */
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_STREAM_MODULE) { if (cf->cycle->modules[m]->type != NGX_STREAM_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
mi = ngx_modules[m]->ctx_index; mi = cf->cycle->modules[m]->ctx_index;
if (module->create_main_conf) { if (module->create_main_conf) {
ctx->main_conf[mi] = module->create_main_conf(cf); ctx->main_conf[mi] = module->create_main_conf(cf);
@ -163,13 +163,13 @@ ngx_stream_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
cmcf = ctx->main_conf[ngx_stream_core_module.ctx_index]; cmcf = ctx->main_conf[ngx_stream_core_module.ctx_index];
cscfp = cmcf->servers.elts; cscfp = cmcf->servers.elts;
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_STREAM_MODULE) { if (cf->cycle->modules[m]->type != NGX_STREAM_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
mi = ngx_modules[m]->ctx_index; mi = cf->cycle->modules[m]->ctx_index;
/* init stream{} main_conf's */ /* init stream{} main_conf's */
@ -201,12 +201,12 @@ ngx_stream_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
} }
} }
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_STREAM_MODULE) { if (cf->cycle->modules[m]->type != NGX_STREAM_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
if (module->postconfiguration) { if (module->postconfiguration) {
if (module->postconfiguration(cf) != NGX_OK) { if (module->postconfiguration(cf) != NGX_OK) {

View File

@ -199,12 +199,12 @@ ngx_stream_core_server(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_STREAM_MODULE) { if (cf->cycle->modules[m]->type != NGX_STREAM_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
if (module->create_srv_conf) { if (module->create_srv_conf) {
mconf = module->create_srv_conf(cf); mconf = module->create_srv_conf(cf);
@ -212,7 +212,7 @@ ngx_stream_core_server(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
ctx->srv_conf[ngx_modules[m]->ctx_index] = mconf; ctx->srv_conf[cf->cycle->modules[m]->ctx_index] = mconf;
} }
} }

View File

@ -116,12 +116,12 @@ ngx_stream_upstream(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
uscf->srv_conf = ctx->srv_conf; uscf->srv_conf = ctx->srv_conf;
for (m = 0; ngx_modules[m]; m++) { for (m = 0; cf->cycle->modules[m]; m++) {
if (ngx_modules[m]->type != NGX_STREAM_MODULE) { if (cf->cycle->modules[m]->type != NGX_STREAM_MODULE) {
continue; continue;
} }
module = ngx_modules[m]->ctx; module = cf->cycle->modules[m]->ctx;
if (module->create_srv_conf) { if (module->create_srv_conf) {
mconf = module->create_srv_conf(cf); mconf = module->create_srv_conf(cf);
@ -129,7 +129,7 @@ ngx_stream_upstream(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
return NGX_CONF_ERROR; return NGX_CONF_ERROR;
} }
ctx->srv_conf[ngx_modules[m]->ctx_index] = mconf; ctx->srv_conf[cf->cycle->modules[m]->ctx_index] = mconf;
} }
} }