aboutsummaryrefslogtreecommitdiffstats
path: root/archivemail.py
diff options
context:
space:
mode:
authorNikolaus Schulz <microschulz@web.de>2009-11-23 20:12:57 +0100
committerNikolaus Schulz <microschulz@web.de>2010-07-19 01:13:25 +0200
commitf031573071e693e9a976d6d37b4cc11cf81f8702 (patch)
treebdbc5851b3af03fd492d5bafe6ee7095abc8a47f /archivemail.py
parent11103e2de2836f780adf17175f4fff189e1ebcaf (diff)
downloadarchivemail-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-xarchivemail.py12
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: