fixed a compilation issue about MMAP_HUGETLB
This commit is contained in:
parent
9094157e28
commit
450526215a
11
lib/main.c
11
lib/main.c
@ -454,7 +454,10 @@ static void* alloc_heap (hcl_t* hcl, hcl_oow_t size)
|
|||||||
int flags;
|
int flags;
|
||||||
hcl_oow_t actual_size;
|
hcl_oow_t actual_size;
|
||||||
|
|
||||||
flags = MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB;
|
flags = MAP_PRIVATE | MAP_ANONYMOUS;
|
||||||
|
#if defined(MAP_HUGETLB)
|
||||||
|
flags |= MAP_HUGETLB;
|
||||||
|
#endif
|
||||||
#if defined(MAP_UNINITIALIZED)
|
#if defined(MAP_UNINITIALIZED)
|
||||||
flags |= MAP_UNINITIALIZED;
|
flags |= MAP_UNINITIALIZED;
|
||||||
#endif
|
#endif
|
||||||
@ -465,11 +468,15 @@ static void* alloc_heap (hcl_t* hcl, hcl_oow_t size)
|
|||||||
ptr = (hcl_oow_t*)mmap(NULL, actual_size, PROT_READ | PROT_WRITE, flags, -1, 0);
|
ptr = (hcl_oow_t*)mmap(NULL, actual_size, PROT_READ | PROT_WRITE, flags, -1, 0);
|
||||||
if (ptr == MAP_FAILED)
|
if (ptr == MAP_FAILED)
|
||||||
{
|
{
|
||||||
|
#if defined(MAP_HUGETLB)
|
||||||
flags &= ~MAP_HUGETLB;
|
flags &= ~MAP_HUGETLB;
|
||||||
ptr = (hcl_oow_t*)mmap(NULL, actual_size, PROT_READ | PROT_WRITE, flags, -1, 0);
|
ptr = (hcl_oow_t*)mmap(NULL, actual_size, PROT_READ | PROT_WRITE, flags, -1, 0);
|
||||||
if (ptr == MAP_FAILED) return HCL_NULL;
|
if (ptr == MAP_FAILED) return HCL_NULL;
|
||||||
|
#else
|
||||||
|
return HCL_NULL;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
*ptr = size;
|
*ptr = actual_size;
|
||||||
|
|
||||||
return (void*)(ptr + 1);
|
return (void*)(ptr + 1);
|
||||||
/*return HCL_MMGR_ALLOC(hcl->mmgr, size);*/
|
/*return HCL_MMGR_ALLOC(hcl->mmgr, size);*/
|
||||||
|
Loading…
Reference in New Issue
Block a user