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;