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共享内存信号量同步
//---------------------
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共享内存信号量同步
//---------------------
相关文章推荐
- C/C++ 全局变量和局部变量在内存里的区别?堆和栈
- nginx 源码学习笔记(十四)—— 全局变量ngx_cycle
- 共享变量类vb.net中的共享方法、共享变量、全局变量
- Linux下共享库中的全局变量,静态变量是否只有一份?
- 常用Actoin算子 与 内存管理 、共享变量、内存机制
- 全局变量和局部变量在内存里的区别
- 全局变量和局部变量在内存里的区别
- 关于全局变量,如何被多个.c文件共享问题
- C++程序运行时内存布局之----------局部变量,全局变量,静态变量,函数代码,new出来的变量
- Linux共享库(动态库)与进程之间全局变量是无法共享的
- Linux共享库(动态库)与进程之间全局变量是无法共享的
- java中如何理解多个对象共享同一个静态成员变量(多个实例的static变量会共享同一块内存区域)
- Java多线程共享全局变量问题
- 全局变量与局部变量在内存中的区别详细解析
- 程序代码,常量,局部变量,全局变量,在内存中的储存位置
- 内存分配:堆、栈、全局变量/静态变量、代码区
- 动态库与主程序共享全局变量
- 全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别(转)
- matlab mex中C++内存全局共享和持久化
- FishiGUI:全局变量和单件模式及其内存释放