发布日期:2013-03-23 10:23 来源:末信 标签: Nginx 创建 结构体
 

创建位置结构体( create_loc_conf)

create_loc_conf函数骨架看起来像这个样子,摘自我写的circle_gif模块(看 源代码 )。它的参数是结构体ngx_conf_t,返回更新的模块配置结构体(例子中是ngx_http_circle_gif_loc_conf_t)。

static void *

ngx_http_circle_gif_create_loc_conf(ngx_conf_t *cf)

{

ngx_http_circle_gif_loc_conf_t *conf;

conf = ngx_pcalloc(cf->pool, sizeof(ngx_http_circle_gif_loc_conf_t));

if (conf == NULL) {

return NGX_CONF_ERROR;

}

conf->min_radius = NGX_CONF_UNSET_UINT;

conf->max_radius = NGX_CONF_UNSET_UINT;

return conf;

}

第一个需要注意的是Nginx的内存分配,只要使用ngx_palloc(malloc的包装函数)或ngx_pcalloc(calloc的包装函数)就不需要关心内存的释放。UNSET常量有:NGX_CONF_UNSET_UINT, NGX_CONF_UNSET_PTR, NGX_CONF_UNSET_SIZE, NGX_CONF_UNSET_MSEC,和一起的NGX_CONF_UNSET。UNSET告诉合并函数这些值还没有被初始化过,需要设定其参数。

相关评论

专题信息
    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。