Browse Source

Do not shadow variable, use deprecated MAP_ANON if MAP_ANONYMOUS is not defined.

0.14
Pavel Janík 8 years ago
parent
commit
4a9f3c50cc
  1. 13
      src/support/lockedpool.cpp

13
src/support/lockedpool.cpp

@ -64,14 +64,14 @@ void* Arena::alloc(size_t size)
for (auto& chunk: chunks) { for (auto& chunk: chunks) {
if (!chunk.second.isInUse() && size <= chunk.second.getSize()) { if (!chunk.second.isInUse() && size <= chunk.second.getSize()) {
char* base = chunk.first; char* _base = chunk.first;
size_t leftover = chunk.second.getSize() - size; size_t leftover = chunk.second.getSize() - size;
if (leftover > 0) { // Split chunk if (leftover > 0) { // Split chunk
chunks.emplace(base + size, Chunk(leftover, false)); chunks.emplace(_base + size, Chunk(leftover, false));
chunk.second.setSize(size); chunk.second.setSize(size);
} }
chunk.second.setInUse(true); chunk.second.setInUse(true);
return reinterpret_cast<void*>(base); return reinterpret_cast<void*>(_base);
} }
} }
return nullptr; return nullptr;
@ -224,6 +224,13 @@ PosixLockedPageAllocator::PosixLockedPageAllocator()
page_size = sysconf(_SC_PAGESIZE); page_size = sysconf(_SC_PAGESIZE);
#endif #endif
} }
// Some systems (at least OS X) do not define MAP_ANONYMOUS yet and define
// MAP_ANON which is deprecated
#ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON
#endif
void *PosixLockedPageAllocator::AllocateLocked(size_t len, bool *lockingSuccess) void *PosixLockedPageAllocator::AllocateLocked(size_t len, bool *lockingSuccess)
{ {
void *addr; void *addr;

Loading…
Cancel
Save