--- a/Mailman/MailList.py +++ a/Mailman/MailList.py @@ -589,7 +589,7 @@ class MailList(HTMLFormatter, Deliverer, ListAdmin, # to ENOENT (EnvironmentError is the base class of IOError and # OSError). mtime = os.path.getmtime(dbfile) - if mtime <= self.__timestamp: + if mtime < self.__timestamp: # File is not newer return None, None fp = open(dbfile) --- a/Mailman/Queue/IncomingRunner.py +++ a/Mailman/Queue/IncomingRunner.py @@ -130,6 +130,8 @@ class IncomingRunner(Runner): more = self._dopipeline(mlist, msg, msgdata, pipeline) if not more: del msgdata['pipeline'] + while not mlist.Locked(): + mlist.Lock(timeout=mm_cfg.LIST_LOCK_TIMEOUT) mlist.Save() return more finally: