Cleanup the previous checkin.

Close the fd in the close method and invalidated it.  Don't try
to close a second time when deallocating.
This commit is contained in:
Neal Norwitz 2005-11-02 05:36:37 +00:00
parent 7b631793ab
commit 6eac2005bf
1 changed files with 4 additions and 1 deletions

View File

@ -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;