]> granicus.if.org Git - postgresql/commitdiff
Fix some problems with patch to fsync the data directory.
authorRobert Haas <rhaas@postgresql.org>
Tue, 5 May 2015 12:30:28 +0000 (08:30 -0400)
committerRobert Haas <rhaas@postgresql.org>
Tue, 5 May 2015 13:16:39 +0000 (09:16 -0400)
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.

src/backend/storage/file/fd.c

index f34e618ac5a8cb94d3d094e5d96781555bd12173..295eeb040ae2d69ce88df065bc4fd4bbfbd17d36 100644 (file)
@@ -2449,7 +2449,7 @@ pre_sync_fname(char *fname, bool isdir)
 {
        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
@@ -2508,7 +2508,7 @@ walkdir(char *path, void (*action) (char *fname, bool isdir))
 #ifndef WIN32
                else if (S_ISLNK(fst.st_mode))
 #else
-               else if (pg_win32_is_junction(subpath))
+               else if (pgwin32_is_junction(subpath))
 #endif
                {
 #if defined(HAVE_READLINK) || defined(WIN32)