When The File System Error Ocuurs
When the file system error occurs, &fml8; exit abnormally to make MTA
re-deliver the message again to &fml8; or &fml8; re-delivers it by
itself without saving the article on the file system. So &fml8; do not
lost received messages whereas both log or summary file lack
something.
Describe below what happans when the file system error occurs in the
delivery process.
When Passed From MTA MTA To &fml8;
&fml8; reads a message and writes it into the disk once. If succeeded,
it processes more. If failed, &fml8; exits abnormally as
exit(EX_TEMPFAIL) for MTA to re-deliver it. See
for more details.
In this case, incoming message queue may have a incomplete message.
&fml8; tries to remove it in abnormal exit.
Even if failed, the queue management system removes it later.
If Updating Of The Article Sequence Number Failed
In normal case, &fml8; updates the article sequence number and
re-reads it and compares it again.
If the check fails, &fml8; exit(EX_TEMPFAIL) for MTA to re-deliver it.
The article sequence number updated. After that, &fml8; does not do
exit(EX_TEMPFAIL) to deliver the message on memory as could as
possible.
When Saving Of Article Failed
In this stage, the article sequence has been updated.
In this case, &fml8; does not create a new article file but the original
message is already on the disk. The header of the article differs from
the original one but the body content is same. So &fml8; tries to
link(2) the original mail in the incoming queue to the article file to
save the content.
If it could be, it is useful to implement another command which fixes
the article header later. It is not implemented.
&fml8; tries to deliver the message on memory.
If the delivery process exits abnormally,
distribution of article ends incompletely
since &fml8; can not use outgoing queue due to file system error.
Delivery Process
&fml8; saves the message into the outgoing queue, after succeeded, the
delivery process runs.
When &fml8; fails to write the outgoing queue,
&fml8; exits incompletely.
See
for more details.