Re: [Exim] exim 4.14 slow for local deliveries?

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Exim Users list
Subject: Re: [Exim] exim 4.14 slow for local deliveries?
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.