summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mmalloc.hpp3
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;
contact: Jan Huwald // Impressum