Re: [exim] Re: Exim 4.42 sleeping "forever"

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Andrew - Supernews
Ημερομηνία:  
Προς: exim-users
Αντικείμενο: Re: [exim] Re: Exim 4.42 sleeping "forever"
>>>>> "Philip" == Philip Hazel <ph10@???> writes:

> On Thu, 30 Sep 2004, Alex Kiernan wrote:
>> We (think) we understand... setitimer is supposed to return EINVAL
>> for non-canonical values
>> (http://www.unix.org/onlinepubs/009695399/functions/setitimer.html),
>> checking on Solaris 9 and FreeBSD 4.8, that is indeed the case
>> (and its *not* on Fedora Core 2), so we end up going to sleep
>> forever, having ignored the return from setitimer and end up
>> waiting for an event which will never happen.


Philip> Thanks for the report and for the further information. I've
Philip> noted it for investigation.

The values in that debug output, if they can be believed at all,
should, if I'm reading the code right, only be possible if the system
clock was stepped substantially backwards during the process. The code
in exim_wait_tick is approximately correct _only_ for the case where
the time "then" is no more than "resolution" microseconds newer than
the rounded-down value of "now", i.e. the required delay is less than
"resolution" (which is the normal case when the clock is monotonic).

I think there's a logical flaw involved in trying to handle the "clock
went backwards" case in any event.

--
Andrew, Supernews
http://www.supernews.com