dma(8): Fix race condition in multi-recipient delivery

Simon 'corecode' Schubert corecode at fs.ei.tum.de
Thu Jul 9 14:30:30 PDT 2009


This is a multi-part message in MIME format.Daniel Roethlisberger wrote:
When delivering mail to multiple recipients, dma(8) will fork for
each recipient and attempt parallel delivery.  Separate delivery
processes for multiple recipients of the same message all use the
same FILE* on the same file descriptor.  If a process is loosing
the CPU during the delivery process, another delivery process for
the same message will wreak havoc on the file descriptor.  The
symptom is dma(8) logging a failed delivery and bouncing the
message for some or all of the recipients:
Jul  3 20:57:21 marvin dma[32640]: 15c.284010d0: remote delivery
failed:corrupted queue file
Thanks for your submission!  I've taken a different approach, could you please test whether it works for you?  (Untested patch).

thanks,
 simon





More information about the Submit mailing list