summaryrefslogtreecommitdiff
path: root/Mailman/MTA/Postfix.py
diff options
context:
space:
mode:
authorBarry Warsaw2007-10-10 23:22:03 -0400
committerBarry Warsaw2007-10-10 23:22:03 -0400
commit1ad73a52bb9d82ef3af1e34ad9ef66ac2eda2909 (patch)
tree7985eda24e60a39d58c54436e99f975610ee947d /Mailman/MTA/Postfix.py
parent15f9e73fdb96a145632e5916cc0073472c014c99 (diff)
downloadmailman-1ad73a52bb9d82ef3af1e34ad9ef66ac2eda2909.tar.gz
mailman-1ad73a52bb9d82ef3af1e34ad9ef66ac2eda2909.tar.zst
mailman-1ad73a52bb9d82ef3af1e34ad9ef66ac2eda2909.zip
Diffstat (limited to 'Mailman/MTA/Postfix.py')
-rw-r--r--Mailman/MTA/Postfix.py16
1 files changed, 6 insertions, 10 deletions
diff --git a/Mailman/MTA/Postfix.py b/Mailman/MTA/Postfix.py
index 6b43011ff..1712bb638 100644
--- a/Mailman/MTA/Postfix.py
+++ b/Mailman/MTA/Postfix.py
@@ -17,6 +17,8 @@
"""Creation/deletion hooks for the Postfix MTA."""
+from __future__ import with_statement
+
import os
import grp
import pwd
@@ -26,11 +28,11 @@ import logging
from stat import *
-from Mailman import LockFile
from Mailman import Utils
from Mailman.MTA.Utils import makealiases
from Mailman.configuration import config
from Mailman.i18n import _
+from Mailman.lockfile import LockFile
LOCKFILE = os.path.join(config.LOCK_DIR, 'creator')
ALIASFILE = os.path.join(config.DATA_DIR, 'aliases')
@@ -66,10 +68,6 @@ def _update_maps():
-def makelock():
- return LockFile.LockFile(LOCKFILE)
-
-
def _zapfile(filename):
# Truncate the file w/o messing with the file permissions, but only if it
# already exists.
@@ -274,6 +272,7 @@ def create(mlist, cgi=False, nolock=False, quiet=False):
# Acquire the global list database lock. quiet flag is ignored.
lock = None
if not nolock:
+ # XXX FIXME
lock = makelock()
lock.lock()
# Do the aliases file, which always needs to be done
@@ -339,9 +338,7 @@ def _do_remove(mlist, textfile):
def remove(mlist, cgi=False):
# Acquire the global list database lock
- lock = makelock()
- lock.lock()
- try:
+ with LockFile(LOCKFILE):
if config.USE_LMTP:
_do_remove(mlist, TRPTFILE)
else:
@@ -350,8 +347,7 @@ def remove(mlist, cgi=False):
_do_remove(mlist, VIRTFILE)
# Regenerate the alias and map files
_update_maps()
- finally:
- lock.unlock(unconditionally=True)
+ config.db.commit()