util/arena.cc: FreeBSD: More portable use of mmap(MAP_ANON) (#1254)

From the Linux manual:
  MAP_ANONYMOUS
     The  mapping  is  not  backed  by any file; its contents
     are initialized to zero.  The fd and offset arguments are
     ignored; however, some implementations require fd to be -1
     if MAP_ANONYMOUS (or MAP_ANON) is specified, and portable
     applications  should  ensure  this.

FreeBSD is such a case, it wil just return an error.
This commit is contained in:
Willem Jan Withagen 2016-08-10 22:52:23 +02:00 committed by Islam AbdelRahman
parent 5370f44a83
commit 821bcb0b39

View File

@ -119,7 +119,7 @@ char* Arena::AllocateFromHugePage(size_t bytes) {
huge_blocks_.reserve(huge_blocks_.size() + 1);
void* addr = mmap(nullptr, bytes, (PROT_READ | PROT_WRITE),
(MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB), 0, 0);
(MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB), -1, 0);
if (addr == MAP_FAILED) {
return nullptr;