ngx_pool_t *
ngx_create_pool(size_t size, ngx_log_t *log)
{
ngx_pool_t *p; p = ngx_memalign(NGX_POOL_ALIGNMENT, size, log);if (p == NULL) { return NULL; } p->d.last = (u_char *) p + sizeof(ngx_pool_t); p->d.end = (u_char *) p + size; p->d.next = NULL; p->d.failed = 0; size = size - sizeof(ngx_pool_t); p->max = (size < NGX_MAX_ALLOC_FROM_POOL) ? size : NGX_MAX_ALLOC_FROM_POOL; p->current = p; p->chain = NULL; p->large = NULL; p->cleanup = NULL; p->log = log;return p;
}
如上,在 ngx_create_pool 中 使用到了 NGX_MAX_ALLOC_FROM_POOL, NGX_MAX_ALLOC_FROM_POOL 是 ngx_pagesize - 1
但是看nginx代码, ngx_pagesize 在第一次穿件内存池的时候, 还没有被赋值。这是不是有问题?
千万里不及你
相关分类