Russell Nelson writes:

Sam Varshavchik writes:
> Since filenames for messages in maildirs are generated based on the > combination of the pid, and the current time, in seconds, there is now a > race condition that will result in loss or corruption of mail. This breaks > Courier and Qmail.

Not for qmail, it doesn't. In the unlikely event that corruption
would occur, qmail-local sleeps two seconds and tries again. At that
point, the pid is still the same and the time is different.
How exactly would qmail-local (which started at T+900 milliseconds) know that it needs to do that; when at T+700 milliseconds an app moved a file carrying the same filename from new to cur, and THAT file was delivered to new by another qmail-local process that had the same pid, but which exited at T+500 milliseconds?





Reply via email to