fix CircularBuffer ashmem fallback (#1763)
This commit is contained in:
committed by
Romain Guy
parent
fb5ee4a9d0
commit
a96da05ab8
@@ -90,19 +90,24 @@ void* CircularBuffer::alloc(size_t size) noexcept {
|
||||
|
||||
if (UTILS_UNLIKELY(mUsesAshmem < 0)) {
|
||||
// ashmem failed
|
||||
if (vaddr_guard != MAP_FAILED)
|
||||
if (vaddr_guard != MAP_FAILED) {
|
||||
munmap(vaddr_guard, size);
|
||||
}
|
||||
|
||||
if (vaddr_shadow != MAP_FAILED)
|
||||
if (vaddr_shadow != MAP_FAILED) {
|
||||
munmap(vaddr_shadow, size);
|
||||
}
|
||||
|
||||
if (vaddr != MAP_FAILED)
|
||||
if (vaddr != MAP_FAILED) {
|
||||
munmap(vaddr, size);
|
||||
}
|
||||
|
||||
if (fd >= 0)
|
||||
if (fd >= 0) {
|
||||
close(fd);
|
||||
}
|
||||
|
||||
data = mmap(nullptr, size * 2 + BLOCK_SIZE, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
|
||||
data = mmap(nullptr, size * 2 + BLOCK_SIZE,
|
||||
PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
|
||||
|
||||
ASSERT_POSTCONDITION(data,
|
||||
"couldn't allocate %u KiB of virtual address space for the command buffer",
|
||||
|
||||
Reference in New Issue
Block a user