auto deleter = [&](void* addr) {
RUNNER_ASSERT_ERRNO_MSG(munmap(addr, MMAP_SIZE) == 0, "munmap() failed");
};
- auto shmem = std::unique_ptr<void, decltype(deleter)>{mmap(nullptr, MMAP_SIZE,
- PROT_READ | PROT_WRITE,
- MAP_SHARED | MAP_ANONYMOUS, -1, 0),
- std::move(deleter)};
- RUNNER_ASSERT_ERRNO_MSG(shmem.get(), "mmap() failed");
+ void* ptr = mmap(nullptr, MMAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, -1, 0);
+ RUNNER_ASSERT_ERRNO_MSG(ptr != MAP_FAILED, "mmap() failed");
+ auto shmem = std::unique_ptr<void, decltype(deleter)>{ptr, std::move(deleter)};
pid_t pid = fork();
RUNNER_ASSERT_MSG(pid >= 0, "Fork failed");
if (pid == 0) {