summaryrefslogtreecommitdiff
path: root/Mailman/Queue/BounceRunner.py
diff options
context:
space:
mode:
authorbwarsaw2002-04-01 16:46:17 +0000
committerbwarsaw2002-04-01 16:46:17 +0000
commit06a6e9830e11ae0ba94eda113f347411f0110ea0 (patch)
tree767f92a7e771bf53ab2dc7dd336405c3f23f30ed /Mailman/Queue/BounceRunner.py
parent469f621d8014b73fd05c14951a3552f8260be668 (diff)
downloadmailman-06a6e9830e11ae0ba94eda113f347411f0110ea0.tar.gz
mailman-06a6e9830e11ae0ba94eda113f347411f0110ea0.tar.zst
mailman-06a6e9830e11ae0ba94eda113f347411f0110ea0.zip
Diffstat (limited to 'Mailman/Queue/BounceRunner.py')
-rw-r--r--Mailman/Queue/BounceRunner.py32
1 files changed, 17 insertions, 15 deletions
diff --git a/Mailman/Queue/BounceRunner.py b/Mailman/Queue/BounceRunner.py
index 341ef9e50..a2131fc42 100644
--- a/Mailman/Queue/BounceRunner.py
+++ b/Mailman/Queue/BounceRunner.py
@@ -94,22 +94,24 @@ class BounceRunner(Runner):
if mlist.internal_name() == mm_cfg.MAILMAN_SITE_LIST:
for listname in Utils.list_names():
xlist = self._open_list(listname)
- if xlist.isMember(addr):
- unlockp = 0
- if not xlist.Locked():
+ xlist.Load()
+ for addr in addrs:
+ if xlist.isMember(addr):
+ unlockp = 0
+ if not xlist.Locked():
+ try:
+ xlist.Lock(timeout=mm_cfg.LIST_LOCK_TIMEOUT)
+ except LockFile.TimeOutError:
+ # Oh well, forget aboutf this list
+ continue
+ unlockp = 1
try:
- xlist.Lock(timeout=mm_cfg.LIST_LOCK_TIMEOUT)
- except LockFile.TimeOutError:
- # Oh well, forget aboutf this list
- continue
- unlockp = 1
- try:
- xlist.registerBounce(addr, msg)
- found = 1
- xlist.Save()
- finally:
- if unlockp:
- xlist.Unlock()
+ xlist.registerBounce(addr, msg)
+ found = 1
+ xlist.Save()
+ finally:
+ if unlockp:
+ xlist.Unlock()
else:
try:
mlist.Lock(timeout=mm_cfg.LIST_LOCK_TIMEOUT)