diff options
author | Jason Evans <je@fb.com> | 2012-05-09 20:05:04 (GMT) |
---|---|---|
committer | Jason Evans <je@fb.com> | 2012-05-09 20:05:04 (GMT) |
commit | de6fbdb72c6e1401b36f8f2073404645bac6cd2b (patch) | |
tree | 701715206d28fa76accb42b88f441566f6595a45 /config.sub | |
parent | 34a8cf6c4029c09e1db776b7027a9c1b31f9e5b4 (diff) | |
download | jemalloc-de6fbdb72c6e1401b36f8f2073404645bac6cd2b.zip jemalloc-de6fbdb72c6e1401b36f8f2073404645bac6cd2b.tar.gz jemalloc-de6fbdb72c6e1401b36f8f2073404645bac6cd2b.tar.bz2 |
Fix chunk_alloc_mmap() bugs.
Simplify chunk_alloc_mmap() to no longer attempt map extension. The
extra complexity isn't warranted, because although in the success case
it saves one system call as compared to immediately falling back to
chunk_alloc_mmap_slow(), it also makes the failure case even more
expensive. This simplification removes two bugs:
- For Windows platforms, pages_unmap() wasn't being called for unaligned
mappings prior to falling back to chunk_alloc_mmap_slow(). This
caused permanent virtual memory leaks.
- For non-Windows platforms, alignment greater than chunksize caused
pages_map() to be called with size 0 when attempting map extension.
This always resulted in an mmap() error, and subsequent fallback to
chunk_alloc_mmap_slow().
Diffstat (limited to 'config.sub')
0 files changed, 0 insertions, 0 deletions