diff options
author | Igor Sysoev <igor@sysoev.ru> | 2008-06-21 00:57:40 +0400 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2008-06-21 00:57:40 +0400 |
commit | 5a4c61658bf62c999318b92d2b76f30a2626621a (patch) | |
tree | 7f5dc8f0a5d2011b2242d8ede0a0c4ebdecb824a /src | |
parent | 0b5e77f41668a1e2f68fac9f9aca46f7193cd38d (diff) |
small optimization
Diffstat (limited to 'src')
-rw-r--r-- | src/core/ngx_palloc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/ngx_palloc.c b/src/core/ngx_palloc.c index 64f958e5a..8c69db773 100644 --- a/src/core/ngx_palloc.c +++ b/src/core/ngx_palloc.c @@ -154,13 +154,19 @@ static void * ngx_palloc_block(ngx_pool_t *pool, size_t size) { u_char *m; + size_t psize; ngx_pool_t *p, *new, *current; - new = ngx_create_pool((size_t) (pool->d.end - (u_char *) pool), pool->log); + psize = (size_t) (pool->d.end - (u_char *) pool); + + new = ngx_alloc(size, pool->log); if (new == NULL) { return NULL; } + new->d.end = (u_char *) new + psize; + new->d.next = NULL; + current = pool->current; for (p = current; p->d.next; p = p->d.next) { |