As some know, win32 doesn't have sync, and some are concerned that sync
isn't reliable enough during checkpoint anyway.
The trick is to somehow record all files modified since the last
checkpoint, and open/fsync/close each one. My idea is to stat() each
file in each directory and compare the modify time to determine if the
file has been modified since the last checkpoint. I can't think of an
easier way to efficiently collect all modified files. In this case, we
let the file system keep track of it for us.
However, on XP, I just tested if files that are kept open have their
modification times modified, and it seems they don't. If I do:
while :
echo test
sleep 5
done > x
I see the file size grow every 5 seconds, but I don't see the
modification time change. Can someone confirm this?
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073