diff options
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/mmapmodule.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c index 73797cb..51487a7 100644 --- a/Modules/mmapmodule.c +++ b/Modules/mmapmodule.c @@ -99,7 +99,8 @@ mmap_object_dealloc(mmap_object *m_obj) #endif /* MS_WINDOWS */ #ifdef UNIX - close(m_obj->fd); + 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); @@ -137,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; |