马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
详解(8)
初始化模块设置上下文(conf_ctx)
- cycle->conf_ctx = ngx_pcalloc(pool, ngx_max_module * sizeof(void *));
- if (cycle->conf_ctx == NULL) {
- ngx_destroy_pool(pool);
- return NULL;
- }
复制代码 1 分配模块设置上下文数组
- cycle->conf_ctx = ngx_pcalloc(pool, ngx_max_module * sizeof(void *));
复制代码 从内存池 pool 中分配一个指针数组 conf_ctx,每个元素对应一个模块的设置结构指针。
- ngx_max_module:编译时确定的模块总数
- sizeof(void *):每个指针的巨细
- 数组长度为 ngx_max_module,索引为模块的唯一标识符(module->index)。
- 初始值全为 NULL,表现尚未创建设置结构。
2 查抄内存分配效果
- if (cycle->conf_ctx == NULL) {
- ngx_destroy_pool(pool);
- return NULL;
- }
复制代码 若内存分配失败,烧毁内存池并克制初始化。
|