diff options
Diffstat (limited to 'Modules/mmapmodule.c')
-rw-r--r-- | Modules/mmapmodule.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c index 27030db49b..af9cd7e2be 100644 --- a/Modules/mmapmodule.c +++ b/Modules/mmapmodule.c @@ -569,18 +569,21 @@ mmap_flush_method(mmap_object *self, PyObject *args) } if (self->access == ACCESS_READ || self->access == ACCESS_COPY) - return PyLong_FromLong(0); + Py_RETURN_NONE; #ifdef MS_WINDOWS - return PyLong_FromLong((long) FlushViewOfFile(self->data+offset, size)); + if (!FlushViewOfFile(self->data+offset, size)) { + PyErr_SetFromWindowsErr(GetLastError()); + return NULL; + } + Py_RETURN_NONE; #elif defined(UNIX) - /* XXX semantics of return value? */ /* XXX flags for msync? */ if (-1 == msync(self->data + offset, size, MS_SYNC)) { PyErr_SetFromErrno(PyExc_OSError); return NULL; } - return PyLong_FromLong(0); + Py_RETURN_NONE; #else PyErr_SetString(PyExc_ValueError, "flush not supported on this system"); return NULL; |