Don't use MADV_DONTDUMP on non-linux builds (#12795)
vkalintiris committed
May 2, 2022 at 14:18 UTC
78e9a97b5d292646c71a3c689567ac9acb4667de
1 file changed
+13
libnetdata/libnetdata.c
+13
@@ -951,6 +951,7 @@ static inline int madvise_sequential(void *mem, size_t len) {
951
if (ret != 0 && logger-- > 0) error("madvise(MADV_SEQUENTIAL) failed.");
952
return ret;
953
}
954
+
955
static inline int madvise_dontfork(void *mem, size_t len) {
956
static int logger = 1;
957
int ret = madvise(mem, len, MADV_DONTFORK);
@@ -958,6 +959,7 @@ static inline int madvise_dontfork(void *mem, size_t len) {
959
if (ret != 0 && logger-- > 0) error("madvise(MADV_DONTFORK) failed.");
960
return ret;
961
}
962
+
963
static inline int madvise_willneed(void *mem, size_t len) {
964
static int logger = 1;
965
int ret = madvise(mem, len, MADV_WILLNEED);
@@ -965,6 +967,8 @@ static inline int madvise_willneed(void *mem, size_t len) {
967
if (ret != 0 && logger-- > 0) error("madvise(MADV_WILLNEED) failed.");
968
return ret;
969
}
970
+
971
+#if __linux__
972
static inline int madvise_dontdump(void *mem, size_t len) {
973
static int logger = 1;
974
int ret = madvise(mem, len, MADV_DONTDUMP);
@@ -972,6 +976,15 @@ static inline int madvise_dontdump(void *mem, size_t len) {
976
if (ret != 0 && logger-- > 0) error("madvise(MADV_DONTDUMP) failed.");
977
return ret;
978
}
979
+#else
980
+static inline int madvise_dontdump(void *mem, size_t len) {
981
+ UNUSED(mem);
982
+ UNUSED(len);
983
+
984
+ return 0;
985
+}
986
+#endif
987
+
988
static inline int madvise_mergeable(void *mem, size_t len) {
989
#ifdef MADV_MERGEABLE
990
static int logger = 1;