diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/storage/file/fd.c | 6 | ||||
-rw-r--r-- | src/bin/pg_test_fsync/pg_test_fsync.c | 4 | ||||
-rw-r--r-- | src/include/port/win32_port.h | 8 |
3 files changed, 3 insertions, 15 deletions
diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c index 3c2a2fbef73..a027a8aabc2 100644 --- a/src/backend/storage/file/fd.c +++ b/src/backend/storage/file/fd.c @@ -399,7 +399,7 @@ pg_fsync(int fd) #endif /* #if is to skip the sync_method test if there's no need for it */ -#if defined(HAVE_FSYNC_WRITETHROUGH) && !defined(FSYNC_WRITETHROUGH_IS_FSYNC) +#if defined(HAVE_FSYNC_WRITETHROUGH) if (sync_method == SYNC_METHOD_FSYNC_WRITETHROUGH) return pg_fsync_writethrough(fd); else @@ -437,9 +437,7 @@ pg_fsync_writethrough(int fd) { if (enableFsync) { -#ifdef WIN32 - return _commit(fd); -#elif defined(F_FULLFSYNC) +#if defined(F_FULLFSYNC) return (fcntl(fd, F_FULLFSYNC, 0) == -1) ? -1 : 0; #else errno = ENOSYS; diff --git a/src/bin/pg_test_fsync/pg_test_fsync.c b/src/bin/pg_test_fsync/pg_test_fsync.c index 435df8d808d..14fa4acae26 100644 --- a/src/bin/pg_test_fsync/pg_test_fsync.c +++ b/src/bin/pg_test_fsync/pg_test_fsync.c @@ -605,9 +605,7 @@ signal_cleanup(SIGNAL_ARGS) static int pg_fsync_writethrough(int fd) { -#ifdef WIN32 - return _commit(fd); -#elif defined(F_FULLFSYNC) +#if defined(F_FULLFSYNC) return (fcntl(fd, F_FULLFSYNC, 0) == -1) ? -1 : 0; #else errno = ENOSYS; diff --git a/src/include/port/win32_port.h b/src/include/port/win32_port.h index 0e6d6083308..27a11c7868e 100644 --- a/src/include/port/win32_port.h +++ b/src/include/port/win32_port.h @@ -84,14 +84,6 @@ /* Windows doesn't have fsync() as such, use _commit() */ #define fsync(fd) _commit(fd) -/* - * For historical reasons, we allow setting wal_sync_method to - * fsync_writethrough on Windows, even though it's really identical to fsync - * (both code paths wind up at _commit()). - */ -#define HAVE_FSYNC_WRITETHROUGH -#define FSYNC_WRITETHROUGH_IS_FSYNC - #define USES_WINSOCK /* |