Thread (11 messages) flat view 11 messages, 5 authors, 2016-06-15

Re: [PATCH 2/2] Windows: Skip fstat/lstat optimization in write_entry()

From: Alex Riesen <hidden>
Date: 2016-06-15 22:46:37

2009/4/20 Dmitry Potapov [off-list ref]:
On Mon, Apr 20, 2009 at 02:58:49PM +0200, Alex Riesen wrote:
quoted
2009/4/20 Dmitry Potapov [off-list ref]:
quoted
The cygwin version has the same problem. (In fact, it is even worse,
because we have an optimized version for lstat/stat but not for fstat,
and they return different values for some fields like i_no). But even
if we used the only Cygwin functions, we would still face the problem,
because Windows returns the wrong values for timestamps (and maybe
even size on FAT?). So I think the following patch should be squashed
on top.
I just sent a patch with an "optimized" fstat. I see no problems (at least none
like these) with that patch. Timestamps match. Windows XP, yes. But since
that MSDN article mentions that it is not guaranteed, I guess I just been lucky.
If the time passed between the creating file and end of writing to it is
small (less than timestamp resolution), you may not notice the problem.
The following program demonstrates the problem with fstat on Windows.
(I compiled it using Cygwin). If you remove 'sleep' then you may not
notice the problem for a long time.
And the Windows being as slow as it is, the problem can stay undetected for
a long time in a real working code.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help