On Mon, 17 Mar 2003, Christopher Bodenstein wrote:
> In the process of upgrading our main POP3 box from 4.10 to 4.14, I
> noticed that 4.14 tend to have problems with local delivery. After a
> couple of minutes, using exiwhat, I can see a lot of processes waiting for
> delivery and hanging there. A kill -HUP will end the delivery process.
>
> Has anyone encountered the same issue?
>
> May this be related to item 34 of the Changelog?
What OS are you using? Is is a BSD OS? If so, you may be right about
item 34. I appear to have fallen in a pit into which I keep repeatedly
falling, by writing signal() instead of os_non_restarting_signal(). This
works on Solaris and Linux, so I never notice. (Why, oh, why, are the
defaults different?)
You can test out this hypothesis by changing line 275 of exim.c from
void (*oldsignal)(int) = signal(SIGALRM, sigalrm_handler);
to
os_non_restarting_signal(SIGALRM, sigalrm_handler);
and changing line 201, which reads
signal(SIGALRM, oldsignal);
to
signal(SIGALRM, SIGIGN);
This is a hack, but I think it will work. (It now doesn't preserve the
signal setting, it just disables it, but I think that was just
tidiness.)
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.