[exim-dev] [Bug 972] File Already Exists in Spool Directory

Top Page
Delete this message
Reply to this message
Author: Simon Arlott
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 972] File Already Exists in Spool Directory
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=972




--- Comment #7 from Simon Arlott <bugzilla.exim.simon@???> 2010-06-06 09:58:37 ---
(In reply to comment #6)
> Created an attachment (id=392)

--> (http://bugs.exim.org/attachment.cgi?id=392) [details]
> exim_wait_tick() paranoia


This will loop longer than intended if the clock goes back at the wrong time. I
would impose a hard limit on the total duration of milliwait()s performed, or
give up immediately if the clock goes backwards. I also think the OS failing to
sleep until the requested time deserves a warning in the log.

> The other approach would be to sleep for *two* ticks, or two times the
> resolution we need, so that if there's a little jitter then we just rely on the
> jitter magnitude being << our resolution magnitude.


This doesn't solve the problem if the kernel is deciding to wake up early.

> I'm leaning towards just sleeping for twice the resolution; in the meantime,
> does this patch even fix the problem?


I couldn't reproduce the problem, so either the sleep duration was too short to
trigger the same issue (which I had with ~1 second sleeps), or the kernel has
been fixed since I encountered it.

Another option is to keep the last message id per process when receiving and
output an error message if the last id is reused, then increment it.


--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email