Thu 29 Apr 2010 04:38:58 PM UTC, original submission:
hello -
I feed mail from fetchmail to slocal to do mail filtering.
The default delivery is then to a mbox in my home directory,
which is NFS mounted.
Several times, i've noticed that if my disk quota fills up, i lose
incoming mail. In such a situation, slocal still reports that the
message was delivered successfully to the maildrop, even though it
was not.
What happens here is that with this configuration, the write() call
returns a success status. We don't get an error until we call close()
[which properly fails returning -1 with EDQUOT]. However, slocal
ignores the return stauts from close(), so it reports success --- leading
fetchmail to delete the original message.
This patch fixes the problem for me. Now slocal properly reports
an error when it can't write to the maildrop. (There are likely
other close() calls that should also be fixed, however.)
|