From: R. David Murray Date: Mon, 18 Oct 2010 01:14:06 +0000 (+0000) Subject: #678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY. X-Git-Tag: v3.2a4~450 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e194dd60f0d00a3537ca118cfe5372c72c33bdf3;p=thirdparty%2FPython%2Fcpython.git #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 188947833ef4..15c0bb346a6d 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 3413f17ebd3c..680f1f1102a9 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)