--- Comment #2 from Jeremy Harris <> ---
There's a worrying comment in retry.c :-

    /* If this is a deferred address, and retry processing was requested by
    means of one or more retry items, and they all timed out, move the address
    to the failed queue, and restart this loop without updating paddr.

    If there were several addresses batched in the same remote delivery, only
    the original top one will have host retry items attached to it, but we want
    to handle all the same. Each will have a pointer back to its "top" address,
    and they will now precede the item with the retries because addresses are
    inverted when added to these final queues. We have saved information about
    them in passing (below) so they can all be cut out at once. */

First off, for this situation I see (with added instrumentation) two retry
items (one for each host tried) for each of the two addresses (in the
and they are attached to the addresses separately.  So the comment is wrong in
that. I don't see _why_ "we want to handle all the same".  It's unclear which
"all" we mean.

The coding and comment goes all the way back to version 2.03 in 1998.

You are receiving this mail because:
You are on the CC list for the bug.
## List details at Exim 
details at ##

Reply via email to