mirror of https://github.com/python/cpython
Merged revisions 85678 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r85678 | r.david.murray | 2010-10-17 21:14:06 -0400 (Sun, 17 Oct 2010) | 5 lines #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. ........
This commit is contained in:
parent
5f76602fb0
commit
2a4b3fce9d
|
@ -29,6 +29,11 @@ Library
|
||||||
|
|
||||||
- Issue #10464: netrc now correctly handles lines with embedded '#' characters.
|
- Issue #10464: netrc now correctly handles lines with embedded '#' characters.
|
||||||
|
|
||||||
|
Extension Modules
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
- Issue #678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.
|
||||||
|
|
||||||
Tests
|
Tests
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
|
|
@ -124,6 +124,7 @@ mmap_object_dealloc(mmap_object *m_obj)
|
||||||
if (m_obj->fd >= 0)
|
if (m_obj->fd >= 0)
|
||||||
(void) close(m_obj->fd);
|
(void) close(m_obj->fd);
|
||||||
if (m_obj->data!=NULL) {
|
if (m_obj->data!=NULL) {
|
||||||
|
if (m_obj->access != ACCESS_READ && m_obj->access != ACCESS_COPY)
|
||||||
msync(m_obj->data, m_obj->size, MS_SYNC);
|
msync(m_obj->data, m_obj->size, MS_SYNC);
|
||||||
munmap(m_obj->data, m_obj->size);
|
munmap(m_obj->data, m_obj->size);
|
||||||
}
|
}
|
||||||
|
@ -559,6 +560,10 @@ mmap_flush_method(mmap_object *self, PyObject *args)
|
||||||
PyErr_SetString(PyExc_ValueError, "flush values out of range");
|
PyErr_SetString(PyExc_ValueError, "flush values out of range");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (self->access == ACCESS_READ || self->access == ACCESS_COPY)
|
||||||
|
return PyLong_FromLong(0);
|
||||||
|
|
||||||
#ifdef MS_WINDOWS
|
#ifdef MS_WINDOWS
|
||||||
return PyInt_FromLong((long) FlushViewOfFile(self->data+offset, size));
|
return PyInt_FromLong((long) FlushViewOfFile(self->data+offset, size));
|
||||||
#elif defined(UNIX)
|
#elif defined(UNIX)
|
||||||
|
|
Loading…
Reference in New Issue