Re: [Exim] Problem with exiscan/exim 4.22/fsav 4.5

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Philip Hazel
Ημερομηνία:  
Προς: Andrew Lewis
Υ/ο: exim-users
Αντικείμενο: Re: [Exim] Problem with exiscan/exim 4.22/fsav 4.5
On Fri, 29 Aug 2003, Andrew Lewis wrote:

> Aug 29 11:59:27 askariupgd kernel: application bug: exim(12099) has
> SIGCHLD set
> to SIG_IGN but calls wait().
> Aug 29 11:59:27 askariupgd kernel: (see the NOTES section of 'man 2
> wait'). Workaround activated.
>
> What is happening?


A change to the kernel causes this error when somebody is using "belt
and braces" programming. This caught out Exim some time ago. This is the
entry in Exim's ChangeLog:

65. When Exim is receiving multiple messages on a single connection, and
    spinning off delivery processess, it sets the SIGCHLD signal handling to
    SIG_IGN, because it doesn't want to wait for these processes. However,
    because on some OS this didn't work, it also has a paranoid call to
    waitpid() in the loop to reap any children that have finished. Some
    versions of Linux now complain (to the system log) about this "illogical"
    call to waitpid(). I have therefore put it inside a conditional
    compilation, and arranged for it to be omitted for Linux.


I'm pretty sure I caught all the places in Exim where this happened.
However, there are still occasional reports of this error. I have not
heard of any resolutions, but my current belief is that they are caused
by something that Exim calls falling foul of the same check.

And you are calling exiscan and fsav...

--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book