On Tue, 21 Jan 2003, Przemyslaw Kowalczyk wrote:
> Jan 20 23:18:26 spruce exim[98503]: redirection process 98515 vanished
> unexpectedly
> What can cause such line to appear?
Prior to 4.12, this incident wasn't logged, so it might have been
happening anyway.
This is one of the most recurring problems that keeps coming back in
Exim on different OS. The problem is in the handling of the termination
of a child process. I thought I had fixed this particular case. The code
reads:
/* Ensure that SIGCHLD is set to SIG_DFL before forking, so that the child
process can be waited for. We sometimes get here with it set otherwise. Save
the old state for resetting on the wait. */
oldsignal = signal(SIGCHLD, SIG_DFL);
That should ensure that the child process doesn't "vanish" until the
parent process waits for it. However, it seems that in your case, the
vanishing still occurs. I do not know what could be causing this. (On
Linux, it might happen if the parent is being straced - you weren't
doing anything equivalent, were you?)
Philip
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.