diff options
Diffstat (limited to 'mmalloc.hpp')
-rw-r--r-- | mmalloc.hpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/mmalloc.hpp b/mmalloc.hpp index 8e2ac93..37c9af1 100644 --- a/mmalloc.hpp +++ b/mmalloc.hpp @@ -45,7 +45,8 @@ void *malloc_mmap(size_t size) { template<typename T> T* mmalloc() { void *r; - if ((r = malloc_hugetlbfs(sizeof(T))) == MAP_FAILED) + size_t sz = sizeof(T); + if ((sz < 1024*1024*1024) || ((r = malloc_hugetlbfs(sizeof(T))) == MAP_FAILED)) if ((r = malloc_mmap(sizeof(T))) == MAP_FAILED) exit(EXIT_FAILURE); return (T*) r; |