Skip to content

Commit efe2f9a

Browse files
committed
Address feedback
1 parent 8e9789c commit efe2f9a

File tree

1 file changed

+6
-11
lines changed

1 file changed

+6
-11
lines changed

src/util/rbs_allocator.c

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <unistd.h>
2121
#include <sys/types.h>
2222
#include <sys/mman.h>
23+
#include <fcntl.h>
2324
#endif
2425

2526
struct rbs_allocator {
@@ -28,25 +29,19 @@ struct rbs_allocator {
2829
};
2930

3031
static void *portable_mmap_anon(size_t size) {
31-
void *ptr;
32-
33-
#ifdef _WIN32
34-
ptr = VirtualAlloc(NULL, size, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
35-
if (ptr == NULL) return NULL;
36-
#elif defined(MAP_ANONYMOUS)
37-
ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
32+
#if defined(MAP_ANONYMOUS)
33+
return mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
3834
#elif defined(MAP_ANON)
39-
ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
35+
return mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
4036
#else
4137
/* Fallback to /dev/zero for systems without anonymous mapping */
4238
int fd = open("/dev/zero", O_RDWR);
43-
if (fd == -1) return MAP_FAILED;
39+
rbs_assert(fd != -1, "open('/dev/zero') failed");
4440

4541
ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
4642
close(fd); /* Can close fd after mapping */
47-
#endif
48-
4943
return ptr;
44+
#endif
5045
}
5146

5247
static size_t get_system_page_size(void) {

0 commit comments

Comments
 (0)