�
I believe that your 2) is "more proper" than 1) because its implementation is simpler, easier to prove correct, has more predictable behaviour and is probably faster in pathological cases (such as moving 20,000 messages [I know, "profile don't speculate"]).
�
Regards,
Henry
ps. Hiroshima... Sorry about sending message to you and not the list last night. HB
andy,
Andreas Aardal Hanssen wrote:what do you think about the attached new patch? i am sure that this must be much better than previous one... though...
This patch is much closer to what we want, Hiroshima. Good work!
thanks! i was sort of looking forward to hearing yes or no from you and kind of yes is pretty nice :)
It needs two more features: Check that each file is not linked from new/
to cur/ until it is at least one second old. So before the copy loop,
check gettimeofday() and optionally sleep for as long as it takes for the
message(s) to get one second old.
what if i just put ``sleep(1);'' just before the second loop?
it might sound lazy but i think it is not that worth checking for each files' times while i know that's the proper way.
simply sleeping one second must be not too bad compromise for now, don't you agree?
Also, if the link fails because the original does not exist (EEXIST), that
suggests that a concurrent server instance moved it for you, so that
should not be treated as an error - simply skip to the next file.
i figured that the patch was already implemented in that way... or am i wrong?
-- Hiroshima
-- Henry Baragar Principal, Technical Architecture 416-453-5626 Instantiated Software Inc. http://www.instantiated.ca

