> > So far we found interesting facts. Our Win32 port passes his
> > test in most cases. However if power of the machine is turned
> > off right after (10 to 20 seconds) the Checkpoint has been
> > made, it does not passes his test. So we are thinking that
> > there is someting wrong with the checkpoint implementaion for
> > Win32 port, which is essentially same as Jan's
> > implementation. i.e. using _flushall() instead of sync(). We
> > were looking for a fix or an alternative implementaion of
> > sync() without success.
>
> Hi Tatsuo,
>
> Does this help:
> http://support.microsoft.com/default.aspx?scid=kb;en-us;66052
Sorry, but it does not help. The page says we could use
FlushFileBuffers() to sync the kernel buffer to the
disk. Unfortunately, it requires a file descriptor to flush for its
argument. Thus it could not be a replacement of sync(). Actually I
have modified the buffer manager so that it remembers all file
descriptors those have not been synced yet to the disk at the
checkpoint time to sync them later. However I found this modification
does not help at all with some reason I don't know.
--
Tatsuo Ishii