#678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.
Patch by Sébastien Sablé. This solves a test_mmap failure on AIX.
diff --git a/Misc/NEWS b/Misc/NEWS
index 1889478..15c0bb3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -87,6 +87,8 @@
Extensions
----------
+- Issue #678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.
+
- Issue #9054: Fix a crash occurring when using the pyexpat module
with expat version 2.0.1.
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index 3413f17..680f1f1 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -569,6 +569,10 @@
PyErr_SetString(PyExc_ValueError, "flush values out of range");
return NULL;
}
+
+ if (self->access == ACCESS_READ || self->access == ACCESS_COPY)
+ return PyLong_FromLong(0);
+
#ifdef MS_WINDOWS
return PyLong_FromLong((long) FlushViewOfFile(self->data+offset, size));
#elif defined(UNIX)