Skip to content

Commit 3ad2485

Browse files
Fix: mmap flags for FreeBSD (#711)
Co-authored-by: Markus Graf <24669860+markusalbertgraf@users.noreply.github.com>
1 parent 20cb742 commit 3ad2485

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

include/usearch/index_plugins.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -854,7 +854,7 @@ class page_allocator_t {
854854
#if defined(USEARCH_DEFINED_WINDOWS)
855855
return (byte_t*)(::VirtualAlloc(NULL, count_bytes, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE));
856856
#else
857-
return (byte_t*)mmap(NULL, count_bytes, PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);
857+
return (byte_t*)mmap(NULL, count_bytes, PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
858858
#endif
859859
}
860860

@@ -959,7 +959,7 @@ template <std::size_t alignment_ak = 1> class memory_mapping_allocator_gt {
959959
if (!last_arena_ || (last_usage_ + extended_bytes >= last_capacity_)) {
960960
std::size_t new_cap = (std::max)(last_capacity_, ceil2(extended_bytes)) * capacity_multiplier();
961961
byte_t* new_arena = page_allocator_t{}.allocate(new_cap);
962-
if (!new_arena)
962+
if (!new_arena || new_arena == (byte_t*)MAP_FAILED)
963963
return nullptr;
964964
std::memcpy(new_arena, &last_arena_, sizeof(byte_t*));
965965
std::memcpy(new_arena + sizeof(byte_t*), &new_cap, sizeof(std::size_t));

0 commit comments

Comments
 (0)