From a1f45f69bbfc4b44c8adb708e4a4f6db65a67a64 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Wed, 22 Feb 2023 09:53:15 +1300 Subject: [PATCH] Remove obsolete coding for early macOS. Commits 04cad8f7 and 0c088568 supported old macOS systems that didn't define O_CLOEXEC or O_DSYNC yet, but those arrived in macOS releases 10.7 and 10.6 (respectively), which themselves reached EOL around a decade ago. We've already made use of other POSIX features that early macOS vintages can't compile (for example commits 623cc673, d2e15083). A later commit will use O_CLOEXEC on POSIX systems so it would be strange to pretend here that it's optional, and we might as well give O_DSYNC the same treatment since the reference is also guarded by a test for a macOS-specific macro, and we know that current Macs have it. Discussion: https://postgr.es/m/CA%2BhUKGKb6FsAdQWcRL35KJsftv%2B9zXqQbzwkfRf1i0J2e57%2BhQ%40mail.gmail.com --- src/backend/storage/file/fd.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c index 926d000f2e..ea690f05c6 100644 --- a/src/backend/storage/file/fd.c +++ b/src/backend/storage/file/fd.c @@ -1025,7 +1025,9 @@ tryAgain: */ StaticAssertStmt((PG_O_DIRECT & (O_APPEND | + O_CLOEXEC | O_CREAT | + O_DSYNC | O_EXCL | O_RDWR | O_RDONLY | @@ -1033,15 +1035,6 @@ tryAgain: O_TRUNC | O_WRONLY)) == 0, "PG_O_DIRECT value collides with standard flag"); -#if defined(O_CLOEXEC) - StaticAssertStmt((PG_O_DIRECT & O_CLOEXEC) == 0, - "PG_O_DIRECT value collides with O_CLOEXEC"); -#endif -#if defined(O_DSYNC) - StaticAssertStmt((PG_O_DIRECT & O_DSYNC) == 0, - "PG_O_DIRECT value collides with O_DSYNC"); -#endif - fd = open(fileName, fileFlags & ~PG_O_DIRECT, fileMode); #else fd = open(fileName, fileFlags, fileMode);