ngx 全局变量共享内存,ngx全局变量共享
ngx 全局变量共享内存,ngx全局变量共享
全局变量用法ctx = ngx_pcalloc(cf->pool, sizeof(ngx_http_limit_req_ctx_t));
if (ctx == NULL) {
return NGX_CONF_ERROR;
}
ctx->index = ngx_http_get_variable_index(cf, &value[i]);
if (ctx->index == NGX_ERROR) {
return NGX_CONF_ERROR;
}
ctx->var = value[i];
ctx = limit->shm_zone->data;
vv = ngx_http_get_indexed_variable(r, ctx->index);
if (vv == NULL || vv->not_found) {
continue;
}
共享内存:
shm_zone = ngx_shared_memory_add(cf, &name, size,
&ngx_http_limit_req_module);
if (shm_zone == NULL) {
return NGX_CONF_ERROR;
}
if (shm_zone->data) {
ctx = shm_zone->data;
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
"%V \"%V\" is already bound to variable \"%V\"",
&cmd->name, &name, &ctx->var);
return NGX_CONF_ERROR;
}
shm_zone->init = ngx_http_limit_req_init_zone;//初始化
shm_zone->data = ctx;
ngx_http_limit_req_init_zone 中 ngx_slab_alloc
http://www.360doc.com/content/12/0219/01/4947005_187732887.shtml
linux共享内存信号量同步
//---------------------
评论暂时关闭