12 static void *ngx_palloc_block(
ngx_pool_t *pool,
size_t size);
13 static void *ngx_palloc_large(
ngx_pool_t *pool,
size_t size);
27 p->
d.
end = (u_char *) p + size;
54 "run cleanup: %p", c);
75 for (p = pool, n = pool->
d.
next; ; p = n, n = n->
d.
next) {
77 "free: %p, unused: %uz", p, p->
d.
end - p->
d.
last);
86 for (p = pool, n = pool->
d.
next; ; p = n, n = n->
d.
next) {
110 for (p = pool; p; p = p->
d.
next) {
122 if (size <= pool->max) {
129 if ((
size_t) (p->
d.
end - m) >= size) {
130 p->
d.
last = m + size;
139 return ngx_palloc_block(pool, size);
142 return ngx_palloc_large(pool, size);
152 if (size <= pool->max) {
159 if ((
size_t) (p->
d.
end - m) >= size) {
160 p->
d.
last = m + size;
169 return ngx_palloc_block(pool, size);
172 return ngx_palloc_large(pool, size);
177 ngx_palloc_block(
ngx_pool_t *pool,
size_t size)
183 psize = (size_t) (pool->
d.
end - (u_char *) pool);
192 new->d.end = m + psize;
198 new->d.last = m + size;
210 pool->
current = current ? current :
new;
217 ngx_palloc_large(
ngx_pool_t *pool,
size_t size)
230 for (large = pool->
large; large; large = large->
next) {
231 if (large->
alloc == NULL) {
288 "free: %p", l->
alloc);
326 if (c->
data == NULL) {
410 ngx_get_cached_block(
size_t size)
413 ngx_cached_block_slot_t *slot;
425 slot->block = slot->block->next;