diff options
Diffstat (limited to 'Lib/mailbox.py')
-rw-r--r-- | Lib/mailbox.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Lib/mailbox.py b/Lib/mailbox.py index 2eee76c..4e42ad2 100644 --- a/Lib/mailbox.py +++ b/Lib/mailbox.py @@ -722,10 +722,14 @@ class _singlefileMailbox(Mailbox): def close(self): """Flush and close the mailbox.""" - self.flush() - if self._locked: - self.unlock() - self._file.close() # Sync has been done by self.flush() above. + try: + self.flush() + finally: + try: + if self._locked: + self.unlock() + finally: + self._file.close() # Sync has been done by self.flush() above. def _lookup(self, key=None): """Return (start, stop) or raise KeyError.""" |