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.



----- Original Message -----
From: "Dann Corbit" <[EMAIL PROTECTED]>
To: "PostgreSQL Hackers" <[EMAIL PROTECTED]>
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 [EMAIL PROTECTED]

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to