您的位置:首页 > 其它

ngx 全局变量共享内存

2014-05-08 09:19 113 查看
全局变量用法

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共享内存信号量同步

//---------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: