aboutsummaryrefslogtreecommitdiff
path: root/databases/mysql94-server/files/patch-storage_myisam_mi__dynrec.cc
diff options
context:
space:
mode:
Diffstat (limited to 'databases/mysql94-server/files/patch-storage_myisam_mi__dynrec.cc')
-rw-r--r--databases/mysql94-server/files/patch-storage_myisam_mi__dynrec.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/databases/mysql94-server/files/patch-storage_myisam_mi__dynrec.cc b/databases/mysql94-server/files/patch-storage_myisam_mi__dynrec.cc
new file mode 100644
index 000000000000..b9d73f50435e
--- /dev/null
+++ b/databases/mysql94-server/files/patch-storage_myisam_mi__dynrec.cc
@@ -0,0 +1,22 @@
+--- storage/myisam/mi_dynrec.cc.orig 2024-04-10 06:26:28 UTC
++++ storage/myisam/mi_dynrec.cc
+@@ -86,17 +86,12 @@ bool mi_dynmap_file(MI_INFO *info, my_off_t size) {
+ return true;
+ }
+ /*
+- I wonder if it is good to use MAP_NORESERVE. From the Linux man page:
+- MAP_NORESERVE
+- Do not reserve swap space for this mapping. When swap space is
+- reserved, one has the guarantee that it is possible to modify the
+- mapping. When swap space is not reserved one might get SIGSEGV
+- upon a write if no physical memory is available.
++ MAP_NORESERVE is unimplemented in FreeBSD
+ */
+ info->s->file_map = (uchar *)my_mmap(
+ nullptr, (size_t)size,
+ info->s->mode == O_RDONLY ? PROT_READ : PROT_READ | PROT_WRITE,
+- MAP_SHARED | MAP_NORESERVE, info->dfile, 0L);
++ MAP_SHARED, info->dfile, 0L);
+ if (info->s->file_map == (uchar *)MAP_FAILED) {
+ info->s->file_map = nullptr;
+ return true;