aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_palloc.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-09-30 12:56:44 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-09-30 12:56:44 +0000
commit687b0e99ea4ff631e447fff2d177d0c9297529fc (patch)
tree5a82866c784ba18d911e76d696f7ebc49408e39a /src/core/ngx_palloc.c
parent689064b91adbf990d266e0e85b31d0b2d33b1515 (diff)
downloadnginx-687b0e99ea4ff631e447fff2d177d0c9297529fc.tar.gz
nginx-687b0e99ea4ff631e447fff2d177d0c9297529fc.zip
Linux/SPARC malloc() returns an address aligned to 8. This conflicts with
our SPARC 16-byte alignment and some allocations may be done out of pool. ngx_memalign(ngx_pagesize) fixes this issue.
Diffstat (limited to 'src/core/ngx_palloc.c')
-rw-r--r--src/core/ngx_palloc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/ngx_palloc.c b/src/core/ngx_palloc.c
index fd0476803..ca59f6260 100644
--- a/src/core/ngx_palloc.c
+++ b/src/core/ngx_palloc.c
@@ -17,7 +17,7 @@ ngx_create_pool(size_t size, ngx_log_t *log)
{
ngx_pool_t *p;
- p = ngx_alloc(size, log);
+ p = ngx_memalign(ngx_pagesize, size, log);
if (p == NULL) {
return NULL;
}
@@ -181,7 +181,7 @@ ngx_palloc_block(ngx_pool_t *pool, size_t size)
psize = (size_t) (pool->d.end - (u_char *) pool);
- m = ngx_alloc(psize, pool->log);
+ m = ngx_memalign(ngx_pagesize, psize, pool->log);
if (m == NULL) {
return NULL;
}
@@ -219,7 +219,7 @@ ngx_palloc_large(ngx_pool_t *pool, size_t size)
ngx_uint_t n;
ngx_pool_large_t *large;
- p = ngx_alloc(size, pool->log);
+ p = ngx_memalign(ngx_pagesize, size, pool->log);
if (p == NULL) {
return NULL;
}