Mercurial > hg > nginx
comparison src/core/ngx_palloc.c @ 3330:b3aaccf50be2
align to minimum of a page and a pool sizes
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 16 Nov 2009 12:50:10 +0000 |
parents | c16e1213bf96 |
children | d788521e4b0e |
comparison
equal
deleted
inserted
replaced
3329:ed785dc26eef | 3330:b3aaccf50be2 |
---|---|
15 ngx_pool_t * | 15 ngx_pool_t * |
16 ngx_create_pool(size_t size, ngx_log_t *log) | 16 ngx_create_pool(size_t size, ngx_log_t *log) |
17 { | 17 { |
18 ngx_pool_t *p; | 18 ngx_pool_t *p; |
19 | 19 |
20 p = ngx_memalign(ngx_pagesize, size, log); | 20 p = ngx_memalign(ngx_min(ngx_pagesize, size), size, log); |
21 if (p == NULL) { | 21 if (p == NULL) { |
22 return NULL; | 22 return NULL; |
23 } | 23 } |
24 | 24 |
25 p->d.last = (u_char *) p + sizeof(ngx_pool_t); | 25 p->d.last = (u_char *) p + sizeof(ngx_pool_t); |
179 size_t psize; | 179 size_t psize; |
180 ngx_pool_t *p, *new, *current; | 180 ngx_pool_t *p, *new, *current; |
181 | 181 |
182 psize = (size_t) (pool->d.end - (u_char *) pool); | 182 psize = (size_t) (pool->d.end - (u_char *) pool); |
183 | 183 |
184 m = ngx_memalign(ngx_pagesize, psize, pool->log); | 184 m = ngx_memalign(ngx_min(ngx_pagesize, psize), psize, pool->log); |
185 if (m == NULL) { | 185 if (m == NULL) { |
186 return NULL; | 186 return NULL; |
187 } | 187 } |
188 | 188 |
189 new = (ngx_pool_t *) m; | 189 new = (ngx_pool_t *) m; |