summaryrefslogtreecommitdiff
path: root/config.h.cmake
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2021-06-18 18:40:05 +0300
committerVicențiu Ciorbaru <cvicentiu@gmail.com>2021-07-18 19:59:35 +0300
commitb1d81974b21ad99f1b6d26d744e36a12ee4026a7 (patch)
treebf165cee42987de9f3c78bea880eb0923c6af34d /config.h.cmake
parentd378a466a5f9b655a73f4eb86c3eea1042b36cd7 (diff)
downloadmariadb-git-b1d81974b21ad99f1b6d26d744e36a12ee4026a7.tar.gz
Added support to MEM_ROOT for write protected memory
This is useful for thing like Item_true and Item_false that we allocated and initalize once and want to ensure that nothing can change them Main changes: - Memory protection is achived by allocating memory with mmap() and protect it from write with mprotect() - init_alloc_root(...,MY_ROOT_USE_MPROTECT) will create a memroot that one can later use with protect_root() to turn it read only or turn it back to read-write. All allocations to this memroot is done with mmap() to ensure page alligned allocations. - alloc_root() code was rearranged to combine normal and valgrind code. - init_alloc_root() now changes block size to be power of 2's, to get less memory fragmentation. - Changed MEM_ROOT structure to make it smaller. Also renamed MEM_ROOT m_psi_key to psi_key. - Moved MY_THREAD_SPECIFIC marker in MEM_ROOT from block size (old hack) to flags. - Added global variable my_system_page_size. This is initialized at startup.
Diffstat (limited to 'config.h.cmake')
-rw-r--r--config.h.cmake1
1 files changed, 1 insertions, 0 deletions
diff --git a/config.h.cmake b/config.h.cmake
index 80721592ab0..44ae067daad 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -179,6 +179,7 @@
#cmakedefine HAVE_MLOCKALL 1
#cmakedefine HAVE_MMAP 1
#cmakedefine HAVE_MMAP64 1
+#cmakedefine HAVE_MPROTECT 1
#cmakedefine HAVE_PERROR 1
#cmakedefine HAVE_POLL 1
#cmakedefine HAVE_POSIX_FALLOCATE 1