diff options
author | Nikolaus Schulz <microschulz@web.de> | 2009-11-23 20:12:57 +0100 |
---|---|---|
committer | Nikolaus Schulz <microschulz@web.de> | 2010-07-19 01:13:25 +0200 |
commit | f031573071e693e9a976d6d37b4cc11cf81f8702 (patch) | |
tree | bdbc5851b3af03fd492d5bafe6ee7095abc8a47f /archivemail.py | |
parent | 11103e2de2836f780adf17175f4fff189e1ebcaf (diff) | |
download | archivemail-f031573071e693e9a976d6d37b4cc11cf81f8702.tar.gz archivemail-f031573071e693e9a976d6d37b4cc11cf81f8702.tar.bz2 archivemail-f031573071e693e9a976d6d37b4cc11cf81f8702.zip |
mbox locking: omit dotlock if we don't have the permissions to create it
Closes: issue #855269.
Diffstat (limited to 'archivemail.py')
-rwxr-xr-x | archivemail.py | 12 |
1 files changed, 10 insertions, 2 deletions
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: |