On Wed, 18 Nov 1998, Malcolm Beattie wrote:
> Under Linux 2.0, accept() can pass network
> error information up to user level. Software which doesn't expect
> this can get a bit confused: simply logging the error messages and
> treating the errors as EAGAIN (which is what I presume exim does) is
> reasonable behaviour.
Here's the comment from Exim's code. I think the code does what it says.
/* If select or accept has failed and this was not caused by an
interruption, log the incident and try again. With asymmetric TCP/IP
routing errors such as "No route to network" have been seen here. Also
"connection reset by peer" has been seen. These cannot be classed as
disastrous errors, but they could fill up a lot of log. The code in smail
crashes the daemon after 10 successive failures of accept, on the grounds
that some OS fail continuously. Exim originally followed suit, but this
appears to have caused problems. Now it just keeps going, but instead of
logging each error, it batches them up when they are continuous. */
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
--
*** Exim information can be found at
http://www.exim.org/ ***