summaryrefslogtreecommitdiff
path: root/src/mailman/runners/lmtp.py
diff options
context:
space:
mode:
authorBarry Warsaw2017-01-28 13:17:25 -0500
committerBarry Warsaw2017-01-28 13:19:58 -0500
commit7c97e8fbdb90a1a0de1526d7a6f108e95415d6a0 (patch)
treed49c10cccf7bfafa08fa7145a5860fa43e5615fb /src/mailman/runners/lmtp.py
parentdfb807e04037786a62e7635d0b37e0695a77d5d6 (diff)
downloadmailman-7c97e8fbdb90a1a0de1526d7a6f108e95415d6a0.tar.gz
mailman-7c97e8fbdb90a1a0de1526d7a6f108e95415d6a0.tar.zst
mailman-7c97e8fbdb90a1a0de1526d7a6f108e95415d6a0.zip
Diffstat (limited to 'src/mailman/runners/lmtp.py')
-rw-r--r--src/mailman/runners/lmtp.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mailman/runners/lmtp.py b/src/mailman/runners/lmtp.py
index b5c7bbb1f..f24107bd7 100644
--- a/src/mailman/runners/lmtp.py
+++ b/src/mailman/runners/lmtp.py
@@ -40,12 +40,14 @@ import logging
from aiosmtpd.controller import Controller
from aiosmtpd.lmtp import LMTP
+from contextlib import suppress
from email.utils import parseaddr
from mailman.config import config
from mailman.core.runner import Runner
from mailman.database.transaction import transactional
from mailman.email.message import Message
from mailman.interfaces.listmanager import IListManager
+from mailman.interfaces.runner import RunnerInterrupt
from mailman.utilities.datetime import now
from mailman.utilities.email import add_message_hash
from public import public
@@ -240,7 +242,8 @@ class LMTPRunner(Runner):
def run(self):
"""See `IRunner`."""
- self.lmtp.start()
- while not self._stop:
- self._snooze(0)
- self.lmtp.stop()
+ with suppress(RunnerInterrupt):
+ self.lmtp.start()
+ while not self._stop:
+ self._snooze(0)
+ self.lmtp.stop()