Change Win32 O_SYNC method to O_DSYNC because that is what the method

currently does.  This is now the default Win32 wal sync method because
we perfer o_datasync to fsync.

Also, change Win32 fsync to a new wal sync method called
fsync_writethrough because that is the behavior of _commit, which is
what is used for fsync on Win32.

Backpatch to 8.0.X.
This commit is contained in:
Bruce Momjian
2005-03-24 04:37:07 +00:00
parent 3781b72c22
commit 291cd954fb
5 changed files with 26 additions and 9 deletions

View File

@ -1,4 +1,4 @@
/* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.42.4.1 2005/03/17 17:28:59 momjian Exp $ */
/* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.42.4.2 2005/03/24 04:37:01 momjian Exp $ */
/* undefine and redefine after #include */
#undef mkdir
@ -17,6 +17,7 @@
#define fsync(a) _commit(a)
#define FSYNC_IS_WRITE_THROUGH
#define ftruncate(a,b) chsize(a,b)
#define USES_WINSOCK
@ -189,7 +190,7 @@ typedef int pid_t;
* to ensure that we don't collide with a future definition. It means
* we cannot use _O_NOINHERIT ourselves.
*/
#define O_SYNC 0x0080
#define O_DSYNC 0x0080
/*
* Supplement to <errno.h>.