Commit 456ff086 authored by Robert Haas's avatar Robert Haas

Fix some problems with patch to fsync the data directory.

pg_win32_is_junction() was a typo for pgwin32_is_junction().  open()
was used not only in a two-argument form, which breaks on Windows,
but also where BasicOpenFile() should have been used.

Per reports from Andrew Dunstan and David Rowley.
parent c0574cd5
...@@ -2450,7 +2450,7 @@ pre_sync_fname(char *fname, bool isdir) ...@@ -2450,7 +2450,7 @@ pre_sync_fname(char *fname, bool isdir)
{ {
int fd; int fd;
fd = open(fname, O_RDONLY | PG_BINARY); fd = BasicOpenFile(fname, O_RDONLY | PG_BINARY, 0);
/* /*
* Some OSs don't allow us to open directories at all (Windows returns * Some OSs don't allow us to open directories at all (Windows returns
...@@ -2509,7 +2509,7 @@ walkdir(char *path, void (*action) (char *fname, bool isdir)) ...@@ -2509,7 +2509,7 @@ walkdir(char *path, void (*action) (char *fname, bool isdir))
#ifndef WIN32 #ifndef WIN32
else if (S_ISLNK(fst.st_mode)) else if (S_ISLNK(fst.st_mode))
#else #else
else if (pg_win32_is_junction(subpath)) else if (pgwin32_is_junction(subpath))
#endif #endif
{ {
#if defined(HAVE_READLINK) || defined(WIN32) #if defined(HAVE_READLINK) || defined(WIN32)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment