summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS2
-rw-r--r--Modules/mmapmodule.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 1889478..15c0bb3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -87,6 +87,8 @@ Library
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 @@ mmap_flush_method(mmap_object *self, PyObject *args)
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)