Autor: John Rowe Data: A: exim-users Assumpte: Re: [exim] Disk failure => 5xx error code
> I presume you are, however, using one or both of > those?
Yes, tcpwrappers.
> All sorts of things might modify errno while inside those functions and
> those they call. I don't think relying on checking at the outer level is
> a good idea.
You're right of course that we need to look at errno as soon as
possible. The other questions are when do we look at it and what to do
if we find a nasty value. I like the idea of "first do no harm". The
idea of only looking at it when we think we are going to reject a
message and then simply storing it and modifying smtp_printf to print a
4xx error whenever it would have printed a 5xx represents a very light
touch that is unlikely to ever leave us worse off than we are already.
You can imagine exim recovering from something like EIO but if it can't
it surely suggests telling the remote agent it's worth trying another
host. But there is no ideal answer to what to do after this sort of
error.
It must be a good sign that the question is "what is the best way to
behave when there's a total system disk failure?"!