diff options
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Modules/mmapmodule.c | 4 |
2 files changed, 6 insertions, 0 deletions
@@ -25,6 +25,8 @@ Core and builtins Extension Modules ----------------- +- Bug #1344508, Fix UNIX mmap leaking file descriptors + - Patch #1338314, Bug #1336623: fix tarfile so it can extract REGTYPE directories from tarfiles written by old programs. diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c index 4d781bb..db24e46 100644 --- a/Modules/mmapmodule.c +++ b/Modules/mmapmodule.c @@ -99,6 +99,8 @@ mmap_object_dealloc(mmap_object *m_obj) #endif /* MS_WINDOWS */ #ifdef UNIX + if (m_obj->fd >= 0) + (void) close(m_obj->fd); if (m_obj->data!=NULL) { msync(m_obj->data, m_obj->size, MS_SYNC); munmap(m_obj->data, m_obj->size); @@ -136,6 +138,8 @@ mmap_close_method(mmap_object *self, PyObject *args) #endif /* MS_WINDOWS */ #ifdef UNIX + (void) close(self->fd); + self->fd = -1; if (self->data != NULL) { munmap(self->data, self->size); self->data = NULL; |