Kaynağa Gözat

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);
             ^
Jan Beich 5 yıl önce
ebeveyn
işleme
353be2306c
1 değiştirilmiş dosya ile 5 ekleme ve 0 silme
  1. 5 0
      src/common/host_memory.cpp

+ 5 - 0
src/common/host_memory.cpp

@@ -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{};