#7627: MH.remove() would fail if the MH mailbox was locked;

it would call _unlock_file() and pass it a closed file object.  Noted by Rob Austein.
This commit is contained in:
Andrew M. Kuchling 2010-02-22 18:42:07 +00:00
parent 72aae73d47
commit b72b0eb357
2 changed files with 9 additions and 10 deletions

View file

@ -892,17 +892,9 @@ class MH(Mailbox):
raise KeyError('No message with key: %s' % key)
else:
raise
try:
if self._locked:
_lock_file(f)
try:
f.close()
os.remove(os.path.join(self._path, str(key)))
finally:
if self._locked:
_unlock_file(f)
finally:
else:
f.close()
os.remove(path)
def __setitem__(self, key, message):
"""Replace the keyed message; raise KeyError if it doesn't exist."""