Bug#297607: Long pause when exim daemon is being stopped (was: Re: exim4 prone to break d-i, bug #297607)

Frans Pop Frans Pop <aragorn@tiscali.nl>, 297607@bugs.debian.org
Mon, 28 Mar 2005 00:21:52 +0200


[including joeyh again as it looks like base-config really is (contributing
to) the cause]

On Sunday 27 March 2005 23:38, Marc Haber wrote:
> How does that strace look like in a situation where the daemon
> immediately dies?

Process 7725 attached - interrupt to quit
21:52:16.851305 select(1, [0], NULL, NULL, NULL) = ? ERESTARTNOHAND (To be restarted)
21:52:30.435597 --- SIGTERM (Terminated) @ 0 (0) ---
Process 7725 detached

> Is it possible that the installer establishes a signal handler which
> is then inherited by the processes started from the installer, and
> thus the SIGTERM sent by s-s-d to exim is caught by that handler
> instead of getting through to exim?

Could well be. /usr/sbin/base-config has:

<snip>
if [ "$NEW" ]; then
        # Trap most signals because a ctrl-c killing base-config
        # in the middle of the second stage install would be bad.
        trap "" HUP INT QUIT TERM

        [some lines not included]
else
        # Running again on an existing install. Just trap ctrl-c, and
        # cleanly exit.
        trap cleanup INT
fi
</snip>

The only problem is that, looking at the SVN repo for base-config, this code
has been in there for a long time.
So how come this pause has only recently become visible? I'm fairly sure that
the pause was not there a few months ago (although I do 2nd stage installations
a lot less than 1st stage installations). I will try to check this tomorrow.

Cheers,
Frans