mirror of
https://github.com/nginx/nginx.git
synced 2024-12-16 06:09:00 +08:00
66 lines
1.0 KiB
C
66 lines
1.0 KiB
C
|
|
||
|
/*
|
||
|
* Copyright (C) Igor Sysoev
|
||
|
* Copyright (C) Maxim Dounin
|
||
|
* Copyright (C) Nginx, Inc.
|
||
|
*/
|
||
|
|
||
|
|
||
|
#include <ngx_config.h>
|
||
|
#include <ngx_core.h>
|
||
|
|
||
|
|
||
|
ngx_uint_t ngx_max_module;
|
||
|
|
||
|
|
||
|
ngx_int_t
|
||
|
ngx_preinit_modules()
|
||
|
{
|
||
|
ngx_uint_t i;
|
||
|
|
||
|
ngx_max_module = 0;
|
||
|
for (i = 0; ngx_modules[i]; i++) {
|
||
|
ngx_modules[i]->index = ngx_max_module++;
|
||
|
}
|
||
|
|
||
|
return NGX_OK;
|
||
|
}
|
||
|
|
||
|
|
||
|
ngx_int_t
|
||
|
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) {
|
||
|
return NGX_ERROR;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return NGX_OK;
|
||
|
}
|
||
|
|
||
|
|
||
|
ngx_int_t
|
||
|
ngx_count_modules(ngx_cycle_t *cycle, ngx_uint_t type)
|
||
|
{
|
||
|
ngx_uint_t i, max;
|
||
|
|
||
|
max = 0;
|
||
|
|
||
|
/* count appropriate modules, set up their indices */
|
||
|
|
||
|
for (i = 0; ngx_modules[i]; i++) {
|
||
|
if (ngx_modules[i]->type != type) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
ngx_modules[i]->ctx_index = max++;
|
||
|
}
|
||
|
|
||
|
return max;
|
||
|
}
|