summaryrefslogtreecommitdiff
path: root/src/mem_map.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem_map.cc')
-rw-r--r--src/mem_map.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mem_map.cc b/src/mem_map.cc
index ba34d8b5f2..8201fa8fbe 100644
--- a/src/mem_map.cc
+++ b/src/mem_map.cc
@@ -223,4 +223,18 @@ MemMap::MemMap(byte* begin, size_t size, void* base_begin, size_t base_size)
CHECK_NE(base_size_, 0U);
};
+
+bool MemMap::Protect(int prot) {
+ if (base_begin_ == NULL && base_size_ == 0) {
+ return true;
+ }
+
+ if (mprotect(base_begin_, base_size_, prot) == 0) {
+ return true;
+ }
+
+ PLOG(ERROR) << "mprotect(" << base_begin_ << ", " << base_size_ << ", " << prot << ") failed";
+ return false;
+}
+
} // namespace art