ngx_cycle_t * ngx_init_cycle(ngx_cycle_t *old_cycle)分配内存,每个模块一个void *指针用来指向自已需要的结构:
cycle->conf_ctx = ngx_pcalloc(pool, ngx_max_module * sizeof(void *))
以上内存下传到配置解析函数:
conf.ctx = cycle->conf_ctx;
static ngx_int_t ngx_conf_handler(ngx_conf_t *cf, ngx_int_t last)中根据模块编号获取各自的void*:
else if (cmd->type & NGX_MAIN_CONF) {
conf = &(((void **) cf->ctx)[ngx_modules[i]->index]);
时间: 2024-10-14 16:14:23