On Wed, 4 May 2005, Ben M. Thomas wrote:
> The recent patch to correct the timeout issue with spamd does not work
> as expected. Since the transport filter has timed out, it sends a
> malformed or incomplete data stream. This patch kills of the child
> process and prevents checking of its exit status. This should prevent
> the transport filter timeout message from getting overwritten by the
> child's exit error.
In the 4.51 release (released yesterday) I put in something similar to
the patch (but with a default FAIL rather than DEFER, to match what
happens for a pipe process timeout). In my tests on Gentoo Linux, the
transport filter timeout message did not get overwritten.
However, I am sure that the behaviour is probably highly dependent on
the operating system, the pipe command, and on exactly the timing
characteristics of a particular case.
It is now possible for the transport to detect whether it was the
transport filter that timed out, or the pipe command itself. I suppose
that it should refrain from overwriting the error message if it knows
the transport filter timed out. I will think about this.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book: http://www.uit.co.uk/exim-book