This is not really the fault of sendmail
in modern versions. sendmail
has no knowledge about the user's mailbox. This is the task of mail.local
, which is the one responsible of dealing with mailboxes.
mail.local does require some form of file locking to prevent races in multiple message delivery scenarios. It attempts to use a number of schemes (fcntl(), lockf, flock, no locks at all) depending on the particular OS in which it is being installed.
Unfortunetely, locking does not work reliably in all the scenarios on all the OSes, so multiple schemes must be relied on if attempting to be portable.