Skip to content

Commit 6e02d42

Browse files
committed
Fix compilation failure of TokuDB on BSD-like systems
mincore is defined differently in BSD mincore(void *, size_t, char *) vs linux variant of: mincore(void *, size_t, unsigned char *). Account for this difference in TokuDB.
1 parent b34d7fb commit 6e02d42

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

storage/tokudb/PerconaFT/portability/huge_page_detection.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,13 @@ static bool check_huge_pages_in_practice(void)
9090

9191
const long pagesize = 4096;
9292
const long n_pages = TWO_MB/pagesize;
93+
#ifdef __linux__
94+
// On linux mincore is defined as mincore(void *, size_t, unsigned char *)
9395
unsigned char vec[n_pages];
96+
#else
97+
// On BSD (OS X included) it is defined as mincore(void *, size_t, char *)
98+
char vec[n_pages];
99+
#endif
94100
{
95101
int r = mincore(second, TWO_MB, vec);
96102
if (r!=0 && errno==ENOMEM) {

0 commit comments

Comments
 (0)