From f031573071e693e9a976d6d37b4cc11cf81f8702 Mon Sep 17 00:00:00 2001 From: Nikolaus Schulz Date: Mon, 23 Nov 2009 20:12:57 +0100 Subject: mbox locking: omit dotlock if we don't have the permissions to create it Closes: issue #855269. --- archivemail.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'archivemail.py') diff --git a/archivemail.py b/archivemail.py index 9b21ffd..5e93765 100755 --- a/archivemail.py +++ b/archivemail.py @@ -407,8 +407,16 @@ class Mbox(mailbox.UnixMailbox): pid = os.getpid() box_dir, prelock_prefix = os.path.split(self.mbox_file_name) prelock_suffix = ".%s.%s%s" % (hostname, pid, options.lockfile_extension) - plfd, prelock_name = tempfile.mkstemp(prelock_suffix, prelock_prefix, - dir=box_dir) + try: + plfd, prelock_name = tempfile.mkstemp(prelock_suffix, prelock_prefix, + dir=box_dir) + except OSError, e: + if e.errno == errno.EACCES: + if not options.quiet: + user_warning("no write permissions: omitting dotlock for '%s'" % \ + self.mbox_file_name) + return + raise lock_name = self.mbox_file_name + options.lockfile_extension try: try: -- cgit v1.2.3