From 54821151e4f0a9a8891bbc3d4f1f552e00ca1c3a Mon Sep 17 00:00:00 2001 From: Nikolaus Schulz Date: Sat, 9 Aug 2008 03:27:25 +0200 Subject: [PATCH] Fix minor race when deleting messages in a maildir/mh box Nothing serious, but if another client deleted it in the small window after we checked it, we would have crashed trying to delete a non-existing file. --- archivemail.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/archivemail.py b/archivemail.py index 4fae631..c62fbcd 100755 --- a/archivemail.py +++ b/archivemail.py @@ -1220,9 +1220,10 @@ def _archive_dir(mailbox_name, final_archive_name, type): if archive: archive.finalise() for file_name in delete_queue: - if os.path.isfile(file_name): - vprint("removing original message: '%s'" % file_name) - os.remove(file_name) + vprint("removing original message: '%s'" % file_name) + try: os.remove(file_name) + except OSError, e: + if e.errno != errno.ENOENT: raise if not options.quiet: stats.display()