diff options
Diffstat (limited to 'src/mailman/runners/lmtp.py')
| -rw-r--r-- | src/mailman/runners/lmtp.py | 11 |
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() |
