summaryrefslogtreecommitdiff
path: root/numpy/core/memmap.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/core/memmap.py')
-rw-r--r--numpy/core/memmap.py17
1 files changed, 9 insertions, 8 deletions
diff --git a/numpy/core/memmap.py b/numpy/core/memmap.py
index 7063cf661..1b007c957 100644
--- a/numpy/core/memmap.py
+++ b/numpy/core/memmap.py
@@ -85,19 +85,20 @@ class memmap(ndarray):
self._mmap = None
def sync(self):
- self._mmap.flush()
+ if self._mmap is not None:
+ self._mmap.flush()
def close(self):
if (self.base is self._mmap):
self._mmap.close()
- else:
+ elif self._mmap is not None:
raise ValueError, "Cannot close a memmap that is being used " \
"by another object."
def __del__(self):
- if self._mmap is not None:
- self._mmap.flush()
- try:
- self.close()
- except:
- pass
+ self.sync()
+ try:
+ self.close()
+ except ValueError:
+ pass
+