postgres.git / summary / log / commit / refs

commit    df8b5f3eb8a7c477156d0ad9d83e7297912cfe79
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Tue Sep 18 21:28:27 2018 +0000
First released in: 11.0

    Revert "Allow concurrent-safe open() and fopen() in frontend code for Windows"
    
    This reverts commit f02259fe93e75d5443a2fabe2f2f38b81924ab36, in the
    v11 branch only.
    
    The hack this required in initdb.c should probably have clued us that it
    wasn't really ready, but we didn't get the hint.  Subsequent developments
    have made clear that it affected text-vs-binary behavior in a lot of
    places, and there's no reason to think that any of those behavioral changes
    are desirable.  There's no time to fix this before 11beta4, so just revert
    for the moment.  We can keep working on this in HEAD, and maybe reconsider
    a back-patch once we're satisfied things are stable.
    
    (I take the blame for this fiasco, having encouraged Michael to back-patch
    a change at the last possible moment before beta wrap.)


src/bin/initdb/initdb.c | 8 -------- src/bin/pg_basebackup/pg_receivewal.c | 2 +- src/bin/pg_verify_checksums/pg_verify_checksums.c | 2 +- src/common/file_utils.c | 4 ++-- src/include/port.h | 3 +++ 5 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index c94ef6305eb..ae22e7d9fb8 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -490,15 +490,7 @@ readfile(const char *path) char *buffer; int c; -#ifdef WIN32 - /* - * On Windows, we have to open the file in text mode so that carriage - * returns are stripped. - */ - if ((infile = fopen(path, "rt")) == NULL) -#else if ((infile = fopen(path, "r")) == NULL) -#endif { fprintf(stderr, _("%s: could not open file \"%s\" for reading: %s\n"), progname, path, strerror(errno)); diff --git a/src/bin/pg_basebackup/pg_receivewal.c b/src/bin/pg_basebackup/pg_receivewal.c index 1c9c7408b97..ed9d7f6378a 100644 --- a/src/bin/pg_basebackup/pg_receivewal.c +++ b/src/bin/pg_basebackup/pg_receivewal.c @@ -287,7 +287,7 @@ FindStreamingStart(uint32 *tli) snprintf(fullpath, sizeof(fullpath), "%s/%s", basedir, dirent->d_name); - fd = open(fullpath, O_RDONLY | PG_BINARY, 0); + fd = open(fullpath, O_RDONLY | PG_BINARY); if (fd < 0) { fprintf(stderr, _("%s: could not open compressed file \"%s\": %s\n"), diff --git a/src/bin/pg_verify_checksums/pg_verify_checksums.c b/src/bin/pg_verify_checksums/pg_verify_checksums.c index 1bc020ab6ca..589a3cc5898 100644 --- a/src/bin/pg_verify_checksums/pg_verify_checksums.c +++ b/src/bin/pg_verify_checksums/pg_verify_checksums.c @@ -80,7 +80,7 @@ scan_file(const char *fn, BlockNumber segmentno) int f; BlockNumber blockno; - f = open(fn, O_RDONLY | PG_BINARY, 0); + f = open(fn, O_RDONLY | PG_BINARY); if (f < 0) { fprintf(stderr, _("%s: could not open file \"%s\": %s\n"), diff --git a/src/common/file_utils.c b/src/common/file_utils.c index d952bc8c882..48876061c38 100644 --- a/src/common/file_utils.c +++ b/src/common/file_utils.c @@ -222,7 +222,7 @@ pre_sync_fname(const char *fname, bool isdir, const char *progname) { int fd; - fd = open(fname, O_RDONLY | PG_BINARY, 0); + fd = open(fname, O_RDONLY | PG_BINARY); if (fd < 0) { @@ -283,7 +283,7 @@ fsync_fname(const char *fname, bool isdir, const char *progname) * unsupported operations, e.g. opening a directory under Windows), and * logging others. */ - fd = open(fname, flags, 0); + fd = open(fname, flags); if (fd < 0) { if (errno == EACCES || (isdir && errno == EISDIR)) diff --git a/src/include/port.h b/src/include/port.h index 9c0848f879a..0ce72e50e5e 100644 --- a/src/include/port.h +++ b/src/include/port.h @@ -249,8 +249,11 @@ extern bool rmtree(const char *path, bool rmtopdir); #define O_DIRECT 0x80000000 extern int pgwin32_open(const char *, int,...); extern FILE *pgwin32_fopen(const char *, const char *); + +#ifndef FRONTEND #define open(a,b,c) pgwin32_open(a,b,c) #define fopen(a,b) pgwin32_fopen(a,b) +#endif /* * Mingw-w64 headers #define popen and pclose to _popen and _pclose. We want [parent: 5c07d6497d8e]