Re: [exim] Re: Bug in Exim - duplicating messages

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Russell Stuart
CC: exim-users
Subject: Re: [exim] Re: Bug in Exim - duplicating messages
On Wed, 6 Apr 2005, Russell Stuart wrote:

> I will risk making another guess - it looks like child_done()
> tracks whether the parent all the parents children have been
> delivered by decrementing a counter ("addr->child_count -= 1"
> in the code). Ergo if child_done() is called too many times,
> that counter is going to be wrong - it will be decremented
> one too many times, as you point out.


Yes, that sounds very plausible. My new patch does essentially exactly
what your second one does, except that it is implemented by a switch to
previously_transported() to tell it not to call child_done() instead of
duplicating the checking code inline. So hopefully, all should be well
in future releases. Thanks for your time spent on 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