Re: Long pause when exim daemon is being stopped (was: Re: exim4 prone to break d-i, bug #297607)
[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, , 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:
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]
# Running again on an existing install. Just trap ctrl-c, and
# cleanly exit.
trap cleanup INT
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.