diff options
| author | Jason Evans <jasone@FreeBSD.org> | 2016-02-29 19:10:32 +0000 |
|---|---|---|
| committer | Jason Evans <jasone@FreeBSD.org> | 2016-02-29 19:10:32 +0000 |
| commit | df0d881d94e1c46fc6a6a061f212aaab2602c458 (patch) | |
| tree | 9f2709c1ddd21e02e5ee473059251e64d3bc457f /contrib/jemalloc/src/chunk_mmap.c | |
| parent | 68510f3bac1575787029bd6dd7defe3ac02bfcb9 (diff) | |
Notes
Diffstat (limited to 'contrib/jemalloc/src/chunk_mmap.c')
| -rw-r--r-- | contrib/jemalloc/src/chunk_mmap.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/contrib/jemalloc/src/chunk_mmap.c b/contrib/jemalloc/src/chunk_mmap.c index b9ba74191a416..56b2ee422ab88 100644 --- a/contrib/jemalloc/src/chunk_mmap.c +++ b/contrib/jemalloc/src/chunk_mmap.c @@ -32,7 +32,8 @@ chunk_alloc_mmap_slow(size_t size, size_t alignment, bool *zero, bool *commit) } void * -chunk_alloc_mmap(size_t size, size_t alignment, bool *zero, bool *commit) +chunk_alloc_mmap(void *new_addr, size_t size, size_t alignment, bool *zero, + bool *commit) { void *ret; size_t offset; @@ -53,9 +54,10 @@ chunk_alloc_mmap(size_t size, size_t alignment, bool *zero, bool *commit) assert(alignment != 0); assert((alignment & chunksize_mask) == 0); - ret = pages_map(NULL, size); - if (ret == NULL) - return (NULL); + ret = pages_map(new_addr, size); + if (ret == NULL || ret == new_addr) + return (ret); + assert(new_addr == NULL); offset = ALIGNMENT_ADDR2OFFSET(ret, alignment); if (offset != 0) { pages_unmap(ret, size); |
