I'm having difficulty digging up the reference, but I think I recall seeing
something that said, roughly, on W32 there are 2 sets of buffers - those in
the user level library and those in the kernel level driver, and
FlushFileBuffers drains the first, while _commit drains both (it includes a
call to FlushFileBuffers).
I'm also fairly sure I saw something like #define fsync _commit
in the Berkeley DB sources the other day, which might be a clue.
I'll be happy to be corrected, though.
cheers
andrew
----- Original Message -----
From: "Dann Corbit" <DCorbit@connx.com>
To: "PostgreSQL Hackers" <pgsql-hackers@postgresql.org>
Sent: Monday, February 03, 2003 3:15 PM
Subject: [HACKERS] Win32 and fsync()
> For Win32, in order to emulate fsync() we will need to call
> FlushFileBuffers():
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/
> base/flushfilebuffers.asp
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org