From 80944c40d8a763c035b47b4ee95b67c876c192c5 Mon Sep 17 00:00:00 2001 From: Petr Sumbera Date: Fri, 9 Jun 2017 00:59:32 -0700 Subject: [PATCH] Bug 1158445 - posix_madvise() should be used instead of madvise on Solaris. r=froydnj, r=jandem --- mfbt/Poison.cpp | 4 ++++ mfbt/tests/TestPoisonArea.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/mfbt/Poison.cpp b/mfbt/Poison.cpp index b2767011d5fb..8de30d5926d5 100644 --- a/mfbt/Poison.cpp +++ b/mfbt/Poison.cpp @@ -129,7 +129,11 @@ ReleaseRegion(void* aRegion, uintptr_t aSize) static bool ProbeRegion(uintptr_t aRegion, uintptr_t aSize) { +#ifdef XP_SOLARIS + if (posix_madvise(reinterpret_cast(aRegion), aSize, POSIX_MADV_NORMAL)) { +#else if (madvise(reinterpret_cast(aRegion), aSize, MADV_NORMAL)) { +#endif return true; } else { return false; diff --git a/mfbt/tests/TestPoisonArea.cpp b/mfbt/tests/TestPoisonArea.cpp index 76af23f69437..06c24ed03256 100644 --- a/mfbt/tests/TestPoisonArea.cpp +++ b/mfbt/tests/TestPoisonArea.cpp @@ -269,7 +269,11 @@ ReleaseRegion(void* aPage) static bool ProbeRegion(uintptr_t aPage) { +#ifdef XP_SOLARIS + return !!posix_madvise(reinterpret_cast(aPage), PageSize(), POSIX_MADV_NORMAL); +#else return !!madvise(reinterpret_cast(aPage), PageSize(), MADV_NORMAL); +#endif } static int