host_memory: Add workaround for FreeBSD 12

src/common/host_memory.cpp:360:14: error: use of undeclared identifier
      'memfd_create'
        fd = memfd_create("HostMemory", 0);
             ^
This commit is contained in:
Jan Beich 2021-07-27 20:06:25 +00:00
parent c4cd82fa7c
commit 353be2306c
1 changed files with 5 additions and 0 deletions

View File

@ -357,7 +357,12 @@ public:
}); });
// Backing memory initialization // Backing memory initialization
#if defined(__FreeBSD__) && __FreeBSD__ < 13
// XXX Drop after FreeBSD 12.* reaches EOL on 2024-06-30
fd = shm_open(SHM_ANON, O_RDWR, 0600);
#else
fd = memfd_create("HostMemory", 0); fd = memfd_create("HostMemory", 0);
#endif
if (fd == -1) { if (fd == -1) {
LOG_CRITICAL(HW_Memory, "memfd_create failed: {}", strerror(errno)); LOG_CRITICAL(HW_Memory, "memfd_create failed: {}", strerror(errno));
throw std::bad_alloc{}; throw std::bad_alloc{};