summaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/ngx_conf_file.c14
-rw-r--r--src/core/ngx_cycle.c20
-rw-r--r--src/core/ngx_cycle.h2
-rw-r--r--src/core/ngx_module.c12
4 files changed, 27 insertions, 21 deletions
diff --git a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c
index 1c3238cf3..fb72656ff 100644
--- a/src/core/ngx_conf_file.c
+++ b/src/core/ngx_conf_file.c
@@ -329,9 +329,9 @@ ngx_conf_handler(ngx_conf_t *cf, ngx_int_t last)
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) {
continue;
}
@@ -348,8 +348,8 @@ ngx_conf_handler(ngx_conf_t *cf, ngx_int_t last)
found = 1;
- if (ngx_modules[i]->type != NGX_CONF_MODULE
- && ngx_modules[i]->type != cf->module_type)
+ if (cf->cycle->modules[i]->type != NGX_CONF_MODULE
+ && cf->cycle->modules[i]->type != cf->module_type)
{
continue;
}
@@ -411,16 +411,16 @@ ngx_conf_handler(ngx_conf_t *cf, ngx_int_t last)
conf = NULL;
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) {
- conf = &(((void **) cf->ctx)[ngx_modules[i]->index]);
+ conf = &(((void **) cf->ctx)[cf->cycle->modules[i]->index]);
} else if (cf->ctx) {
confp = *(void **) ((char *) cf->ctx + cmd->conf);
if (confp) {
- conf = confp[ngx_modules[i]->ctx_index];
+ conf = confp[cf->cycle->modules[i]->ctx_index];
}
}
diff --git a/src/core/ngx_cycle.c b/src/core/ngx_cycle.c
index bebb3732e..946f8c008 100644
--- a/src/core/ngx_cycle.c
+++ b/src/core/ngx_cycle.c
@@ -212,12 +212,15 @@ ngx_init_cycle(ngx_cycle_t *old_cycle)
ngx_strlow(cycle->hostname.data, (u_char *) hostname, cycle->hostname.len);
- for (i = 0; ngx_modules[i]; i++) {
- if (ngx_modules[i]->type != NGX_CORE_MODULE) {
+ cycle->modules = ngx_modules;
+
+
+ for (i = 0; cycle->modules[i]; i++) {
+ if (cycle->modules[i]->type != NGX_CORE_MODULE) {
continue;
}
- module = ngx_modules[i]->ctx;
+ module = cycle->modules[i]->ctx;
if (module->create_conf) {
rv = module->create_conf(cycle);
@@ -225,7 +228,7 @@ ngx_init_cycle(ngx_cycle_t *old_cycle)
ngx_destroy_pool(pool);
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);
}
- for (i = 0; ngx_modules[i]; i++) {
- if (ngx_modules[i]->type != NGX_CORE_MODULE) {
+ for (i = 0; cycle->modules[i]; i++) {
+ if (cycle->modules[i]->type != NGX_CORE_MODULE) {
continue;
}
- module = ngx_modules[i]->ctx;
+ module = cycle->modules[i]->ctx;
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)
{
environ = senv;
diff --git a/src/core/ngx_cycle.h b/src/core/ngx_cycle.h
index a730efe42..736fb65a1 100644
--- a/src/core/ngx_cycle.h
+++ b/src/core/ngx_cycle.h
@@ -48,6 +48,8 @@ struct ngx_cycle_s {
ngx_connection_t *free_connections;
ngx_uint_t free_connection_n;
+ ngx_module_t **modules;
+
ngx_queue_t reusable_connections_queue;
ngx_array_t listening;
diff --git a/src/core/ngx_module.c b/src/core/ngx_module.c
index dc4e91f34..df3cfde5d 100644
--- a/src/core/ngx_module.c
+++ b/src/core/ngx_module.c
@@ -32,9 +32,9 @@ ngx_init_modules(ngx_cycle_t *cycle)
{
ngx_uint_t i;
- for (i = 0; ngx_modules[i]; i++) {
- if (ngx_modules[i]->init_module) {
- if (ngx_modules[i]->init_module(cycle) != NGX_OK) {
+ for (i = 0; cycle->modules[i]; i++) {
+ if (cycle->modules[i]->init_module) {
+ if (cycle->modules[i]->init_module(cycle) != NGX_OK) {
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 */
- for (i = 0; ngx_modules[i]; i++) {
- if (ngx_modules[i]->type != type) {
+ for (i = 0; cycle->modules[i]; i++) {
+ if (cycle->modules[i]->type != type) {
continue;
}
- ngx_modules[i]->ctx_index = max++;
+ cycle->modules[i]->ctx_index = max++;
}
return max;